118ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// Copyright 2009 the V8 project authors. All rights reserved. 218ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// Redistribution and use in source and binary forms, with or without 318ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// modification, are permitted provided that the following conditions are 418ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// met: 518ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// 618ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// * Redistributions of source code must retain the above copyright 718ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// notice, this list of conditions and the following disclaimer. 818ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// * Redistributions in binary form must reproduce the above 918ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// copyright notice, this list of conditions and the following 1018ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// disclaimer in the documentation and/or other materials provided 1118ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// with the distribution. 1218ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// * Neither the name of Google Inc. nor the names of its 1318ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// contributors may be used to endorse or promote products derived 1418ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// from this software without specific prior written permission. 1518ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// 1618ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1718ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1818ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1918ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2018ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2118ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2218ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2318ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2418ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2518ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2618ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2718ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 2818ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 2918ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// Two fp numbers that have the same hash value (see TranscendentalCache 3018ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org// in heap.h). 3118ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgvar x = 0x123456789ABCD / 0x2000000000000; 3218ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgvar y = 0x1134567899BCD / 0x2000000000000; 3318ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 3418ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgassertTrue(Math.sin(x) != Math.sin(y)); 3518ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 3618ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgassertTrue(Math.cos(x) != Math.cos(y)); 3718ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 3818ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgassertTrue(Math.tan(x) != Math.tan(y)); 3918ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 4018ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgassertTrue(Math.log(x) != Math.log(y)); 4118ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 4218ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgassertTrue(Math.asin(x) != Math.asin(y)); 4318ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 4418ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgassertTrue(Math.acos(x) != Math.acos(y)); 4518ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 4618ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgassertTrue(Math.atan(x) != Math.atan(y)); 4718ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.org 4818ad94b919217ffbcd2d3159eeb5f8c588761c47ager@chromium.orgassertTrue(Math.exp(x) != Math.exp(y)); 49