public class java.lang.FdLibm$Hypot
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.lang.FdLibm$Hypot
super_class: java.lang.Object
{
public static final double TWO_MINUS_600;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2.409919865102884E-181
public static final double TWO_PLUS_600;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4.149515568880993E180
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 198
ldc Ljava/lang/FdLibm;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.lang.FdLibm$Hypot.$assertionsDisabled:Z
3: .line 200
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.FdLibm$Hypot this
0: .line 202
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 203
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 // java.lang.FdLibm$Hypot this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/FdLibm$Hypot;
public static strict double compute(double, double);
descriptor: (DD)D
flags: (0x0809) ACC_PUBLIC, ACC_STATIC, ACC_STRICT
Code:
stack=10, locals=21, args_size=2
start local 0 // double x
start local 2 // double y
0: .line 207
dload 0 /* x */
invokestatic java.lang.Math.abs:(D)D
dstore 4 /* a */
start local 4 // double a
1: .line 208
dload 2 /* y */
invokestatic java.lang.Math.abs:(D)D
dstore 6 /* b */
start local 6 // double b
2: .line 210
dload 4 /* a */
invokestatic java.lang.Double.isFinite:(D)Z
ifeq 3
dload 6 /* b */
invokestatic java.lang.Double.isFinite:(D)Z
ifne 6
3: .line 211
StackMap locals: double double
StackMap stack:
dload 4 /* a */
ldc Infinity
dcmpl
ifeq 4
dload 6 /* b */
ldc Infinity
dcmpl
ifne 5
4: .line 212
StackMap locals:
StackMap stack:
ldc Infinity
dreturn
5: .line 214
StackMap locals:
StackMap stack:
dload 4 /* a */
dload 6 /* b */
dadd
dreturn
6: .line 217
StackMap locals:
StackMap stack:
dload 6 /* b */
dload 4 /* a */
dcmpl
ifle 10
7: .line 218
dload 4 /* a */
dstore 8 /* tmp */
start local 8 // double tmp
8: .line 219
dload 6 /* b */
dstore 4 /* a */
9: .line 220
dload 8 /* tmp */
dstore 6 /* b */
end local 8 // double tmp
10: .line 222
StackMap locals:
StackMap stack:
getstatic java.lang.FdLibm$Hypot.$assertionsDisabled:Z
ifne 11
dload 4 /* a */
dload 6 /* b */
dcmpl
ifge 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: .line 245
StackMap locals:
StackMap stack:
dload 4 /* a */
invokestatic java.lang.FdLibm.__HI:(D)I
istore 8 /* ha */
start local 8 // int ha
12: .line 246
dload 6 /* b */
invokestatic java.lang.FdLibm.__HI:(D)I
istore 9 /* hb */
start local 9 // int hb
13: .line 248
iload 8 /* ha */
iload 9 /* hb */
isub
ldc 62914560
if_icmple 15
14: .line 249
dload 4 /* a */
dload 6 /* b */
dadd
dreturn
15: .line 252
StackMap locals: int int
StackMap stack:
iconst_0
istore 10 /* k */
start local 10 // int k
16: .line 253
dload 4 /* a */
ldc 3.2733937296446915E150
dcmpl
ifle 22
17: .line 255
iload 8 /* ha */
ldc 629145600
isub
istore 8 /* ha */
18: .line 256
iload 9 /* hb */
ldc 629145600
isub
istore 9 /* hb */
19: .line 257
dload 4 /* a */
ldc 2.409919865102884E-181
dmul
dstore 4 /* a */
20: .line 258
dload 6 /* b */
ldc 2.409919865102884E-181
dmul
dstore 6 /* b */
21: .line 259
iinc 10 /* k */ 600
22: .line 262
StackMap locals: int
StackMap stack:
dload 6 /* b */
ldc 3.0549363634996047E-151
dcmpg
ifge 36
23: .line 263
dload 6 /* b */
ldc 2.2250738585072014E-308
dcmpg
ifge 31
24: .line 264
dload 6 /* b */
dconst_0
dcmpl
ifne 26
25: .line 265
dload 4 /* a */
dreturn
26: .line 266
StackMap locals:
StackMap stack:
ldc 4.49423283715579E307
dstore 11 /* t1 */
start local 11 // double t1
27: .line 267
dload 6 /* b */
dload 11 /* t1 */
dmul
dstore 6 /* b */
28: .line 268
dload 4 /* a */
dload 11 /* t1 */
dmul
dstore 4 /* a */
29: .line 269
iinc 10 /* k */ -1022
30: .line 270
goto 36
end local 11 // double t1
31: .line 271
StackMap locals:
StackMap stack:
iload 8 /* ha */
ldc 629145600
iadd
istore 8 /* ha */
32: .line 272
iload 9 /* hb */
ldc 629145600
iadd
istore 9 /* hb */
33: .line 273
dload 4 /* a */
ldc 4.149515568880993E180
dmul
dstore 4 /* a */
34: .line 274
dload 6 /* b */
ldc 4.149515568880993E180
dmul
dstore 6 /* b */
35: .line 275
iinc 10 /* k */ -600
36: .line 279
StackMap locals:
StackMap stack:
dload 4 /* a */
dload 6 /* b */
dsub
dstore 15 /* w */
start local 15 // double w
37: .line 280
dload 15 /* w */
dload 6 /* b */
dcmpl
ifle 43
38: .line 281
dconst_0
dstore 11 /* t1 */
start local 11 // double t1
39: .line 282
dload 11 /* t1 */
iload 8 /* ha */
invokestatic java.lang.FdLibm.__HI:(DI)D
dstore 11 /* t1 */
40: .line 283
dload 4 /* a */
dload 11 /* t1 */
dsub
dstore 13 /* t2 */
start local 13 // double t2
41: .line 284
dload 11 /* t1 */
dload 11 /* t1 */
dmul
dload 6 /* b */
dload 6 /* b */
dneg
dmul
dload 13 /* t2 */
dload 4 /* a */
dload 11 /* t1 */
dadd
dmul
dsub
dsub
invokestatic java.lang.Math.sqrt:(D)D
dstore 15 /* w */
42: .line 285
goto 51
end local 13 // double t2
end local 11 // double t1
43: .line 287
StackMap locals: double double double double int int int top top top top double
StackMap stack:
dload 4 /* a */
dload 4 /* a */
dadd
dstore 4 /* a */
44: .line 288
dconst_0
dstore 17 /* y1 */
start local 17 // double y1
45: .line 289
dload 17 /* y1 */
iload 9 /* hb */
invokestatic java.lang.FdLibm.__HI:(DI)D
dstore 17 /* y1 */
46: .line 290
dload 6 /* b */
dload 17 /* y1 */
dsub
dstore 19 /* y2 */
start local 19 // double y2
47: .line 291
dconst_0
dstore 11 /* t1 */
start local 11 // double t1
48: .line 292
dload 11 /* t1 */
iload 8 /* ha */
ldc 1048576
iadd
invokestatic java.lang.FdLibm.__HI:(DI)D
dstore 11 /* t1 */
49: .line 293
dload 4 /* a */
dload 11 /* t1 */
dsub
dstore 13 /* t2 */
start local 13 // double t2
50: .line 294
dload 11 /* t1 */
dload 17 /* y1 */
dmul
dload 15 /* w */
dload 15 /* w */
dneg
dmul
dload 11 /* t1 */
dload 19 /* y2 */
dmul
dload 13 /* t2 */
dload 6 /* b */
dmul
dadd
dsub
dsub
invokestatic java.lang.Math.sqrt:(D)D
dstore 15 /* w */
end local 19 // double y2
end local 17 // double y1
51: .line 296
StackMap locals: double double double double int int int double double double
StackMap stack:
iload 10 /* k */
ifeq 53
52: .line 297
iload 10 /* k */
invokestatic java.lang.Math.powerOfTwoD:(I)D
dload 15 /* w */
dmul
dreturn
53: .line 299
StackMap locals:
StackMap stack:
dload 15 /* w */
dreturn
end local 15 // double w
end local 13 // double t2
end local 11 // double t1
end local 10 // int k
end local 9 // int hb
end local 8 // int ha
end local 6 // double b
end local 4 // double a
end local 2 // double y
end local 0 // double x
LocalVariableTable:
Start End Slot Name Signature
0 54 0 x D
0 54 2 y D
1 54 4 a D
2 54 6 b D
8 10 8 tmp D
12 54 8 ha I
13 54 9 hb I
16 54 10 k I
27 31 11 t1 D
39 43 11 t1 D
48 54 11 t1 D
41 43 13 t2 D
50 54 13 t2 D
37 54 15 w D
45 51 17 y1 D
47 51 19 y2 D
MethodParameters:
Name Flags
x
y
}
SourceFile: "FdLibm.java"
NestHost: java.lang.FdLibm
InnerClasses:
public Hypot = java.lang.FdLibm$Hypot of java.lang.FdLibm