← Back to team overview

openjdk team mailing list archive

[Bug 1796982] [NEW] [Regression] AArch64: log and cos/sin intrinsics give incorrect results

 

Public bug reported:

Upstream bug: https://bugs.openjdk.java.net/browse/JDK-8211105

$ cat LogTest.java
public class LogTest {
    public static void main(String[] args) {
        double x = 4.9E-324;
        System.out.println(Math.log(x));
        System.out.println(StrictMath.log(x));
    }
}

$ cat CosTest.java
public class CosTest { 
    public static void main(String[] args) { 
        System.out.println(Math.cos(1647100));
    } 
} 

$ javac LogTest.class

With 10.0.2+13-1ubuntu1 (correct):
$ java LogTest
-744.4400719213812
-744.4400719213812

With 11~28-3ubuntu1 (incorrect):
$ java LogTest
-710.989276736877
-744.4400719213812

$ javac CosTest.class

With 10.0.2+13-1ubuntu1 (correct):
$ java CosTest
0.7833030468809974

With 11~28-3ubuntu1 (incorrect):
$ java CosTest
-0.2745634094819721

** Affects: openjdk-lts (Ubuntu)
     Importance: Critical
         Status: New

** Summary changed:

- [Regression] AArch64: Math.log intrinsic gives incorrect results
+ [Regression] AArch64: log and cos/sin intrinsics give incorrect results

** Description changed:

- $ cat LogTest.java 
- public class LogTest { 
+ Upstream bug: https://bugs.openjdk.java.net/browse/JDK-8211105
+ 
+ $ cat LogTest.java
+ public class LogTest {
+     public static void main(String[] args) {
+         double x = 4.9E-324;
+         System.out.println(Math.log(x));
+         System.out.println(StrictMath.log(x));
+     }
+ }
+ 
+ $ cat CosTest.java
+ public class CosTest { 
      public static void main(String[] args) { 
-         double x = 4.9E-324; 
-         System.out.println(Math.log(x)); 
-         System.out.println(StrictMath.log(x)); 
+         System.out.println(Math.cos(1647100));
      } 
  } 
+ 
  $ javac LogTest.class
  
  With 10.0.2+13-1ubuntu1 (correct):
- $ java LogTest 
+ $ java LogTest
  -744.4400719213812
  -744.4400719213812
  
  With 11~28-3ubuntu1 (incorrect):
- $ java LogTest 
+ $ java LogTest
  -710.989276736877
  -744.4400719213812
+ 
+ $ javac CosTest.class
+ 
+ With 10.0.2+13-1ubuntu1 (correct):
+ $ java CosTest
+ 0.7833030468809974
+ 
+ With 11~28-3ubuntu1 (incorrect):
+ $ java CosTest
+ -0.2745634094819721

-- 
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-lts in Ubuntu.
https://bugs.launchpad.net/bugs/1796982

Title:
  [Regression] AArch64: log and cos/sin intrinsics give incorrect
  results

Status in openjdk-lts package in Ubuntu:
  New

Bug description:
  Upstream bug: https://bugs.openjdk.java.net/browse/JDK-8211105

  $ cat LogTest.java
  public class LogTest {
      public static void main(String[] args) {
          double x = 4.9E-324;
          System.out.println(Math.log(x));
          System.out.println(StrictMath.log(x));
      }
  }

  $ cat CosTest.java
  public class CosTest { 
      public static void main(String[] args) { 
          System.out.println(Math.cos(1647100));
      } 
  } 

  $ javac LogTest.class

  With 10.0.2+13-1ubuntu1 (correct):
  $ java LogTest
  -744.4400719213812
  -744.4400719213812

  With 11~28-3ubuntu1 (incorrect):
  $ java LogTest
  -710.989276736877
  -744.4400719213812

  $ javac CosTest.class

  With 10.0.2+13-1ubuntu1 (correct):
  $ java CosTest
  0.7833030468809974

  With 11~28-3ubuntu1 (incorrect):
  $ java CosTest
  -0.2745634094819721

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1796982/+subscriptions


Follow ups