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