public class org.jruby.RubyRational extends org.jruby.RubyNumeric
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyRational
  super_class: org.jruby.RubyNumeric
{
  private static org.jruby.runtime.ObjectAllocator RATIONAL_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private org.jruby.RubyInteger num;
    descriptor: Lorg/jruby/RubyInteger;
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.RubyInteger den;
    descriptor: Lorg/jruby/RubyInteger;
    flags: (0x0002) ACC_PRIVATE

  private static boolean canonicalization;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final long ML;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.runtime.ObjectMarshal RATIONAL_MARSHAL;
    descriptor: Lorg/jruby/runtime/ObjectMarshal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$java$math$RoundingMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 62
            ldc Lorg/jruby/RubyRational;
            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 org.jruby.RubyRational.$assertionsDisabled:Z
         3: .line 82
            new org.jruby.RubyRational$1
            dup
            invokespecial org.jruby.RubyRational$1.<init>:()V
            putstatic org.jruby.RubyRational.RATIONAL_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         4: .line 178
            iconst_0
            putstatic org.jruby.RubyRational.canonicalization:Z
         5: .line 1159
            ldc 1.7976931348623157E308
            invokestatic java.lang.Math.log:(D)D
            ldc 2.0
            invokestatic java.lang.Math.log:(D)D
            ddiv
            dconst_1
            dsub
            d2l
            putstatic org.jruby.RubyRational.ML:J
         6: .line 1331
            new org.jruby.RubyRational$2
            dup
            invokespecial org.jruby.RubyRational$2.<init>:()V
            putstatic org.jruby.RubyRational.RATIONAL_MARSHAL:Lorg/jruby/runtime/ObjectMarshal;
         7: .line 1358
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.jruby.RubyClass createRationalClass(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 65
            aload 0 /* runtime */
            ldc "Rational"
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getNumeric:()Lorg/jruby/RubyClass;
            getstatic org.jruby.RubyRational.RATIONAL_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 1 /* rationalc */
        start local 1 // org.jruby.RubyClass rationalc
         1: .line 66
            aload 0 /* runtime */
            aload 1 /* rationalc */
            invokevirtual org.jruby.Ruby.setRational:(Lorg/jruby/RubyClass;)V
         2: .line 68
            aload 1 /* rationalc */
            getstatic org.jruby.runtime.ClassIndex.RATIONAL:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         3: .line 69
            aload 1 /* rationalc */
            ldc Lorg/jruby/RubyRational;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         4: .line 71
            aload 1 /* rationalc */
            new org.jruby.RubyModule$JavaClassKindOf
            dup
            ldc Lorg/jruby/RubyRational;
            invokespecial org.jruby.RubyModule$JavaClassKindOf.<init>:(Ljava/lang/Class;)V
            putfield org.jruby.RubyClass.kindOf:Lorg/jruby/RubyModule$KindOf;
         5: .line 73
            aload 1 /* rationalc */
            getstatic org.jruby.RubyRational.RATIONAL_MARSHAL:Lorg/jruby/runtime/ObjectMarshal;
            invokevirtual org.jruby.RubyClass.setMarshal:(Lorg/jruby/runtime/ObjectMarshal;)V
         6: .line 74
            aload 1 /* rationalc */
            ldc Lorg/jruby/RubyRational;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         7: .line 76
            aload 1 /* rationalc */
            invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
            ldc "allocate"
            invokevirtual org.jruby.RubyClass.undefineMethod:(Ljava/lang/String;)V
         8: .line 77
            aload 1 /* rationalc */
            invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
            ldc "new"
            invokevirtual org.jruby.RubyClass.undefineMethod:(Ljava/lang/String;)V
         9: .line 79
            aload 1 /* rationalc */
            areturn
        end local 1 // org.jruby.RubyClass rationalc
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0    runtime  Lorg/jruby/Ruby;
            1   10     1  rationalc  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  

  private void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass clazz
        start local 3 // org.jruby.RubyInteger num
        start local 4 // org.jruby.RubyInteger den
         0: .line 91
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* clazz */
            invokespecial org.jruby.RubyNumeric.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 92
            aload 0 /* this */
            aload 3 /* num */
            putfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
         2: .line 93
            aload 0 /* this */
            aload 4 /* den */
            putfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
         3: .line 94
            return
        end local 4 // org.jruby.RubyInteger den
        end local 3 // org.jruby.RubyInteger num
        end local 2 // org.jruby.RubyClass clazz
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyRational;
            0    4     1  runtime  Lorg/jruby/Ruby;
            0    4     2    clazz  Lorg/jruby/RubyClass;
            0    4     3      num  Lorg/jruby/RubyInteger;
            0    4     4      den  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      runtime  
      clazz    
      num      
      den      

  public static org.jruby.RubyRational newRationalRaw(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject x
        start local 2 // org.jruby.runtime.builtin.IRubyObject y
         0: .line 100
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 1 /* x */
            aload 2 /* y */
            invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject y
        end local 1 // org.jruby.runtime.builtin.IRubyObject x
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1        x  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2        y  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      x        
      y        

  static org.jruby.RubyRational newRationalRaw(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject x
         0: .line 107
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 1 /* x */
            aload 0 /* runtime */
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject x
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1        x  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      x        

  static org.jruby.RubyNumeric newRationalCanonicalize(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyInteger x
         0: .line 114
            aload 0 /* context */
            aload 1 /* x */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.newRationalCanonicalize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyNumeric
            areturn
        end local 1 // org.jruby.RubyInteger x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        x  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      x        

  public static org.jruby.runtime.builtin.IRubyObject newRationalCanonicalize(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyInteger x
        start local 2 // org.jruby.RubyInteger y
         0: .line 121
            aload 0 /* context */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 1 /* x */
            aload 2 /* y */
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.RubyInteger y
        end local 1 // org.jruby.RubyInteger x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        x  Lorg/jruby/RubyInteger;
            0    1     2        y  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      x        
      y        

  public static org.jruby.runtime.builtin.IRubyObject newRationalCanonicalize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject x
        start local 2 // org.jruby.runtime.builtin.IRubyObject y
         0: .line 125
            aload 0 /* context */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 1 /* x */
            checkcast org.jruby.RubyInteger
            aload 2 /* y */
            checkcast org.jruby.RubyInteger
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject y
        end local 1 // org.jruby.runtime.builtin.IRubyObject x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        x  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2        y  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      x        
      y        

  public static org.jruby.runtime.builtin.IRubyObject newRationalCanonicalize(org.jruby.runtime.ThreadContext, long, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // long x
        start local 3 // long y
         0: .line 129
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 130
            aload 0 /* context */
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            lload 1 /* x */
            lload 3 /* y */
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;JJ)Lorg/jruby/RubyNumeric;
            areturn
        end local 5 // org.jruby.Ruby runtime
        end local 3 // long y
        end local 1 // long x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
            0    2     1        x  J
            0    2     3        y  J
            1    2     5  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      context  
      x        
      y        

  public static org.jruby.runtime.builtin.IRubyObject newRationalCanonicalize(org.jruby.runtime.ThreadContext, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // long x
         0: .line 133
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 134
            aload 0 /* context */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            lload 1 /* x */
            lconst_1
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;JJ)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 1 // long x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
            0    2     1        x  J
            1    2     3  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      context  
      x        

  static org.jruby.RubyNumeric newRationalNoReduce(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyInteger x
        start local 2 // org.jruby.RubyInteger y
         0: .line 138
            aload 0 /* context */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 1 /* x */
            aload 2 /* y */
            invokestatic org.jruby.RubyRational.canonicalizeInternalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.RubyInteger y
        end local 1 // org.jruby.RubyInteger x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        x  Lorg/jruby/RubyInteger;
            0    1     2        y  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      x        
      y        

  private static org.jruby.RubyNumeric newRationalNoReduce(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.RubyInteger x
        start local 3 // org.jruby.RubyInteger y
         0: .line 145
            aload 0 /* context */
            aload 1 /* clazz */
            aload 2 /* x */
            aload 3 /* y */
            invokestatic org.jruby.RubyRational.canonicalizeInternalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.RubyInteger y
        end local 2 // org.jruby.RubyInteger x
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2        x  Lorg/jruby/RubyInteger;
            0    1     3        y  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      x        
      y        

  private static org.jruby.RubyRational newRationalBang(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject x
        start local 3 // org.jruby.runtime.builtin.IRubyObject y
         0: .line 152
            getstatic org.jruby.RubyRational.$assertionsDisabled:Z
            ifne 2
            aload 0 /* context */
            aload 3 /* y */
            invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifne 1
            aload 0 /* context */
            aload 3 /* y */
            invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* clazz */
            aload 2 /* x */
            aload 3 /* y */
            invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject y
        end local 2 // org.jruby.runtime.builtin.IRubyObject x
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  context  Lorg/jruby/runtime/ThreadContext;
            0    3     1    clazz  Lorg/jruby/RubyClass;
            0    3     2        x  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3        y  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      x        
      y        

  private static org.jruby.RubyRational newRationalBang(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject x
         0: .line 160
            aload 0 /* context */
            aload 1 /* clazz */
            aload 2 /* x */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject x
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2        x  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      x        

  private static org.jruby.RubyRational newRationalBang(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // long x
         0: .line 164
            aload 0 /* context */
            aload 1 /* clazz */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            lload 2 /* x */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            areturn
        end local 2 // long x
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2        x  J
    MethodParameters:
         Name  Flags
      context  
      clazz    
      x        

  public org.jruby.runtime.ClassIndex getNativeClassIndex();
    descriptor: ()Lorg/jruby/runtime/ClassIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 169
            getstatic org.jruby.runtime.ClassIndex.RATIONAL:Lorg/jruby/runtime/ClassIndex;
            areturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public static void setCanonicalization(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean canonical
         0: .line 180
            iload 0 /* canonical */
            putstatic org.jruby.RubyRational.canonicalization:Z
         1: .line 181
            return
        end local 0 // boolean canonical
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  canonical  Z
    MethodParameters:
           Name  Flags
      canonical  

  private static org.jruby.RubyInteger intCheck(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject num
         0: .line 187
            aload 1 /* num */
            instanceof org.jruby.RubyInteger
            ifeq 1
            aload 1 /* num */
            checkcast org.jruby.RubyInteger
            areturn
         1: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* num */
            instanceof org.jruby.RubyNumeric
            ifeq 2
            aload 0 /* context */
            invokestatic org.jruby.RubyRational.integer_p:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/CallSite;
            aload 0 /* context */
            aload 1 /* num */
            aload 1 /* num */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 3
         2: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "can't convert "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* num */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " into Rational"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* num */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject num
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1      num  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      num      

  private static org.jruby.runtime.CallSite integer_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/CallSite;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 195
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
            getfield org.jruby.runtime.JavaSites.Numeric:Lorg/jruby/runtime/JavaSites$NumericSites;
            getfield org.jruby.runtime.JavaSites$NumericSites.integer:Lorg/jruby/runtime/CallSite;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  static org.jruby.RubyInteger intValue(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject num
         0: .line 203
            aload 0 /* context */
            aload 1 /* num */
            invokestatic org.jruby.RubyInteger.toInteger:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
            dup
            astore 2 /* i */
        start local 2 // org.jruby.RubyInteger i
         1: ifnonnull 3
         2: .line 204
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "can't convert "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* num */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " into Rational"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 206
      StackMap locals: org.jruby.RubyInteger
      StackMap stack:
            aload 2 /* i */
            areturn
        end local 2 // org.jruby.RubyInteger i
        end local 1 // org.jruby.runtime.builtin.IRubyObject num
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1      num  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2        i  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      num      

  private static org.jruby.RubyNumeric canonicalizeInternal(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.RubyInteger num
        start local 3 // org.jruby.RubyInteger den
         0: .line 213
            aload 0 /* context */
            aload 3 /* den */
            invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 3
         1: .line 214
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 2 /* num */
         2: .line 215
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 3 /* den */
         3: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 2 /* num */
            aload 3 /* den */
            invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 4 /* gcd */
        start local 4 // org.jruby.RubyInteger gcd
         4: .line 219
            aload 2 /* num */
            aload 0 /* context */
            aload 4 /* gcd */
            invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 5 /* _num */
        start local 5 // org.jruby.RubyInteger _num
         5: .line 220
            aload 3 /* den */
            aload 0 /* context */
            aload 4 /* gcd */
            invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 6 /* _den */
        start local 6 // org.jruby.RubyInteger _den
         6: .line 222
            getstatic org.jruby.RubyRational.canonicalization:Z
            ifeq 7
            aload 0 /* context */
            aload 6 /* _den */
            invokestatic org.jruby.util.Numeric.f_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 7
            aload 5 /* _num */
            areturn
         7: .line 224
      StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyInteger
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* clazz */
            aload 5 /* _num */
            aload 6 /* _den */
            invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            areturn
        end local 6 // org.jruby.RubyInteger _den
        end local 5 // org.jruby.RubyInteger _num
        end local 4 // org.jruby.RubyInteger gcd
        end local 3 // org.jruby.RubyInteger den
        end local 2 // org.jruby.RubyInteger num
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  context  Lorg/jruby/runtime/ThreadContext;
            0    8     1    clazz  Lorg/jruby/RubyClass;
            0    8     2      num  Lorg/jruby/RubyInteger;
            0    8     3      den  Lorg/jruby/RubyInteger;
            4    8     4      gcd  Lorg/jruby/RubyInteger;
            5    8     5     _num  Lorg/jruby/RubyInteger;
            6    8     6     _den  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      num      
      den      

  private static org.jruby.RubyNumeric canonicalizeInternal(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, long, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;JJ)Lorg/jruby/RubyNumeric;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // long num
        start local 4 // long den
         0: .line 228
            lload 4 /* den */
            lconst_0
            lcmp
            ifne 2
         1: .line 229
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 230
      StackMap locals:
      StackMap stack:
            lload 2 /* num */
            ldc -9223372036854775808
            lcmp
            ifne 4
            lload 4 /* den */
            ldc -9223372036854775808
            lcmp
            ifne 4
         3: .line 231
            aload 0 /* context */
            aload 1 /* clazz */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            lload 2 /* num */
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            lload 4 /* den */
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            pop
         4: .line 232
      StackMap locals:
      StackMap stack:
            lload 2 /* num */
            lload 4 /* den */
            invokestatic org.jruby.util.Numeric.i_gcd:(JJ)J
            lstore 6 /* gcd */
        start local 6 // long gcd
         5: .line 233
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            lload 2 /* num */
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            aload 0 /* context */
            lload 6 /* gcd */
            invokevirtual org.jruby.RubyFixnum.idiv:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 8 /* _num */
        start local 8 // org.jruby.RubyInteger _num
         6: .line 234
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            lload 4 /* den */
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            aload 0 /* context */
            lload 6 /* gcd */
            invokevirtual org.jruby.RubyFixnum.idiv:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 9 /* _den */
        start local 9 // org.jruby.RubyInteger _den
         7: .line 236
            getstatic org.jruby.RubyRational.canonicalization:Z
            ifeq 8
            aload 9 /* _den */
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            lconst_1
            lcmp
            ifne 8
            aload 8 /* _num */
            areturn
         8: .line 238
      StackMap locals: long org.jruby.RubyInteger org.jruby.RubyInteger
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* clazz */
            aload 8 /* _num */
            aload 9 /* _den */
            invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            areturn
        end local 9 // org.jruby.RubyInteger _den
        end local 8 // org.jruby.RubyInteger _num
        end local 6 // long gcd
        end local 4 // long den
        end local 2 // long num
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  context  Lorg/jruby/runtime/ThreadContext;
            0    9     1    clazz  Lorg/jruby/RubyClass;
            0    9     2      num  J
            0    9     4      den  J
            5    9     6      gcd  J
            6    9     8     _num  Lorg/jruby/RubyInteger;
            7    9     9     _den  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      num      
      den      

  private static org.jruby.RubyNumeric canonicalizeInternalNoReduce(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.RubyInteger num
        start local 3 // org.jruby.RubyInteger den
         0: .line 247
            aload 0 /* context */
            aload 3 /* den */
            invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 3
         1: .line 248
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 2 /* num */
         2: .line 249
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 3 /* den */
         3: .line 252
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyRational.canonicalization:Z
            ifeq 4
            aload 0 /* context */
            aload 3 /* den */
            invokestatic org.jruby.util.Numeric.f_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 4
            aload 2 /* num */
            areturn
         4: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* clazz */
            aload 2 /* num */
            aload 3 /* den */
            invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            areturn
        end local 3 // org.jruby.RubyInteger den
        end local 2 // org.jruby.RubyInteger num
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  context  Lorg/jruby/runtime/ThreadContext;
            0    5     1    clazz  Lorg/jruby/RubyClass;
            0    5     2      num  Lorg/jruby/RubyInteger;
            0    5     3      den  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      num      
      den      

  private static boolean canonicalizeShouldNegate(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyInteger den
         0: .line 259
            aload 1 /* den */
            invokevirtual org.jruby.RubyInteger.signum:()I
            istore 2 /* signum */
        start local 2 // int signum
         1: .line 260
            iload 2 /* signum */
            ifne 2
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 261
      StackMap locals: int
      StackMap stack:
            iload 2 /* signum */
            ifge 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // int signum
        end local 1 // org.jruby.RubyInteger den
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1      den  Lorg/jruby/RubyInteger;
            1    4     2   signum  I
    MethodParameters:
         Name  Flags
      context  
      den      

  public static org.jruby.runtime.builtin.IRubyObject newInstance(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 269
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* clazz */
            checkcast org.jruby.RubyClass
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
            areturn
         2: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* clazz */
            checkcast org.jruby.RubyClass
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
            areturn
         3: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
         4: .line 273
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            iconst_1
            iconst_1
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
         5: .line 274
            aconst_null
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lorg/jruby/runtime/ThreadContext;
            0    6     1    clazz  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      clazz    
      args     

  public static org.jruby.runtime.builtin.IRubyObject newInstance(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
         0: .line 279
            aload 0 /* context */
            aload 1 /* clazz */
            checkcast org.jruby.RubyClass
            aload 2 /* num */
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.builtin.IRubyObject clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1    clazz  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      clazz    
      num      

  static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
         0: .line 283
            aload 0 /* context */
            aload 1 /* clazz */
            aload 0 /* context */
            aload 2 /* num */
            invokestatic org.jruby.RubyRational.intValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      num      

  public static org.jruby.runtime.builtin.IRubyObject newInstance(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // org.jruby.runtime.builtin.IRubyObject den
         0: .line 288
            aload 0 /* context */
            aload 1 /* clazz */
            checkcast org.jruby.RubyClass
            aload 2 /* num */
            aload 3 /* den */
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject den
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.builtin.IRubyObject clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1    clazz  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3      den  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      clazz    
      num      
      den      

  static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // org.jruby.runtime.builtin.IRubyObject den
         0: .line 292
            aload 0 /* context */
            aload 1 /* clazz */
            aload 0 /* context */
            aload 2 /* num */
            invokestatic org.jruby.RubyRational.intValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
            aload 0 /* context */
            aload 3 /* den */
            invokestatic org.jruby.RubyRational.intValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject den
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3      den  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      num      
      den      

  static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.RubyInteger num
        start local 3 // org.jruby.RubyInteger den
         0: .line 296
            aload 0 /* context */
            aload 1 /* clazz */
            aload 2 /* num */
            aload 3 /* den */
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.RubyInteger den
        end local 2 // org.jruby.RubyInteger num
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2      num  Lorg/jruby/RubyInteger;
            0    1     3      den  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      num      
      den      

  public static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyInteger num
        start local 2 // org.jruby.RubyInteger den
         0: .line 300
            aload 0 /* context */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 1 /* num */
            aload 2 /* den */
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.RubyInteger den
        end local 1 // org.jruby.RubyInteger num
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1      num  Lorg/jruby/RubyInteger;
            0    1     2      den  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      num      
      den      

  public static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyInteger num
         0: .line 304
            aload 0 /* context */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 1 /* num */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 1 // org.jruby.RubyInteger num
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1      num  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      num      

  public static org.jruby.runtime.builtin.IRubyObject newRationalConvert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject x
         0: .line 311
            aload 0 /* context */
            aload 1 /* x */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.newRationalConvert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        x  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      x        

  public static org.jruby.runtime.builtin.IRubyObject newRationalConvert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject x
        start local 2 // org.jruby.runtime.builtin.IRubyObject y
         0: .line 318
            aload 0 /* context */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 1 /* x */
            aload 2 /* y */
            invokestatic org.jruby.RubyRational.convert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject y
        end local 1 // org.jruby.runtime.builtin.IRubyObject x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        x  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2        y  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      x        
      y        

  public static org.jruby.RubyRational newRational(org.jruby.Ruby, long, long);
    descriptor: (Lorg/jruby/Ruby;JJ)Lorg/jruby/RubyRational;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // long x
        start local 3 // long y
         0: .line 322
            new org.jruby.RubyRational
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 0 /* runtime */
            lload 1 /* x */
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            aload 0 /* runtime */
            lload 3 /* y */
            invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
            invokespecial org.jruby.RubyRational.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)V
            astore 5 /* rat */
        start local 5 // org.jruby.RubyRational rat
         1: .line 323
            aload 5 /* rat */
            iconst_1
            invokevirtual org.jruby.RubyRational.setFrozen:(Z)V
         2: .line 324
            aload 5 /* rat */
            areturn
        end local 5 // org.jruby.RubyRational rat
        end local 3 // long y
        end local 1 // long x
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1        x  J
            0    3     3        y  J
            1    3     5      rat  Lorg/jruby/RubyRational;
    MethodParameters:
         Name  Flags
      runtime  
      x        
      y        

  static org.jruby.RubyRational newRational(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject x
        start local 3 // org.jruby.runtime.builtin.IRubyObject y
         0: .line 328
            new org.jruby.RubyRational
            dup
            aload 0 /* runtime */
            aload 1 /* clazz */
            aload 2 /* x */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            aload 3 /* y */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokespecial org.jruby.RubyRational.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)V
            astore 4 /* rat */
        start local 4 // org.jruby.RubyRational rat
         1: .line 329
            aload 4 /* rat */
            iconst_1
            invokevirtual org.jruby.RubyRational.setFrozen:(Z)V
         2: .line 330
            aload 4 /* rat */
            areturn
        end local 4 // org.jruby.RubyRational rat
        end local 3 // org.jruby.runtime.builtin.IRubyObject y
        end local 2 // org.jruby.runtime.builtin.IRubyObject x
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1    clazz  Lorg/jruby/RubyClass;
            0    3     2        x  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3        y  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     4      rat  Lorg/jruby/RubyRational;
    MethodParameters:
         Name  Flags
      runtime  
      clazz    
      x        
      y        

  public static org.jruby.runtime.builtin.IRubyObject convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 335
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* clazz */
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyRational.convert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* clazz */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyRational.convert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
         4: .line 339
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            iconst_1
            iconst_1
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
         5: .line 340
            aconst_null
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lorg/jruby/runtime/ThreadContext;
            0    6     1    clazz  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      clazz    
      args     

  public static org.jruby.runtime.builtin.IRubyObject convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject a1
         0: .line 348
            aload 2 /* a1 */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 2
         1: .line 349
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "can't convert nil into Rational"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            aload 2 /* a1 */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRational.convertCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject a1
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  context  Lorg/jruby/runtime/ThreadContext;
            0    3     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2       a1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"convert"}, meta = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      recv     
      a1       

  public static org.jruby.runtime.builtin.IRubyObject convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject a1
        start local 3 // org.jruby.runtime.builtin.IRubyObject a2
         0: .line 360
            aload 2 /* a1 */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 1
            aload 3 /* a2 */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 2
         1: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "can't convert nil into Rational"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* recv */
            checkcast org.jruby.RubyClass
            aload 2 /* a1 */
            aload 3 /* a2 */
            invokestatic org.jruby.RubyRational.convertCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject a2
        end local 2 // org.jruby.runtime.builtin.IRubyObject a1
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  context  Lorg/jruby/runtime/ThreadContext;
            0    3     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2       a1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3       a2  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"convert"}, meta = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      recv     
      a1       
      a2       

  private static org.jruby.RubyNumeric convertCommon(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.runtime.builtin.IRubyObject a1
        start local 3 // org.jruby.runtime.builtin.IRubyObject a2
         0: .line 367
            aload 2 /* a1 */
            instanceof org.jruby.RubyComplex
            ifeq 3
         1: .line 368
            aload 2 /* a1 */
            checkcast org.jruby.RubyComplex
            astore 4 /* a1c */
        start local 4 // org.jruby.RubyComplex a1c
         2: .line 369
            aload 4 /* a1c */
            invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 3
            aload 0 /* context */
            aload 4 /* a1c */
            invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 3
            aload 4 /* a1c */
            invokevirtual org.jruby.RubyComplex.getReal:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* a1 */
        end local 4 // org.jruby.RubyComplex a1c
         3: .line 371
      StackMap locals:
      StackMap stack:
            aload 3 /* a2 */
            instanceof org.jruby.RubyComplex
            ifeq 6
         4: .line 372
            aload 3 /* a2 */
            checkcast org.jruby.RubyComplex
            astore 4 /* a2c */
        start local 4 // org.jruby.RubyComplex a2c
         5: .line 373
            aload 4 /* a2c */
            invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 6
            aload 0 /* context */
            aload 4 /* a2c */
            invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 6
            aload 4 /* a2c */
            invokevirtual org.jruby.RubyComplex.getReal:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* a2 */
        end local 4 // org.jruby.RubyComplex a2c
         6: .line 378
      StackMap locals:
      StackMap stack:
            aload 2 /* a1 */
            instanceof org.jruby.RubyInteger
            ifeq 9
         7: .line 379
            aload 2 /* a1 */
            checkcast org.jruby.RubyInteger
            aload 0 /* context */
            invokevirtual org.jruby.RubyInteger.to_r:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* a1 */
         8: .line 380
            goto 17
      StackMap locals:
      StackMap stack:
         9: aload 2 /* a1 */
            instanceof org.jruby.RubyFloat
            ifeq 12
        10: .line 381
            aload 2 /* a1 */
            checkcast org.jruby.RubyFloat
            aload 0 /* context */
            invokevirtual org.jruby.RubyFloat.to_r:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* a1 */
        11: .line 382
            goto 17
      StackMap locals:
      StackMap stack:
        12: aload 2 /* a1 */
            instanceof org.jruby.RubyString
            ifeq 15
        13: .line 383
            aload 0 /* context */
            aload 2 /* a1 */
            checkcast org.jruby.RubyString
            invokestatic org.jruby.RubyRational.str_to_r_strict:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyNumeric;
            astore 2 /* a1 */
        14: .line 384
            goto 17
        15: .line 385
      StackMap locals:
      StackMap stack:
            aload 2 /* a1 */
            instanceof org.jruby.RubyObject
            ifeq 17
            aload 0 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.respond_to_to_r:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 0 /* context */
            aload 2 /* a1 */
            aload 2 /* a1 */
            invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 17
        16: .line 386
            aload 0 /* context */
            aload 2 /* a1 */
            invokestatic org.jruby.util.Numeric.f_to_r:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* a1 */
        17: .line 390
      StackMap locals:
      StackMap stack:
            aload 3 /* a2 */
            instanceof org.jruby.RubyFloat
            ifeq 20
        18: .line 391
            aload 3 /* a2 */
            checkcast org.jruby.RubyFloat
            aload 0 /* context */
            invokevirtual org.jruby.RubyFloat.to_r:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* a2 */
        19: .line 392
            goto 22
      StackMap locals:
      StackMap stack:
        20: aload 3 /* a2 */
            instanceof org.jruby.RubyString
            ifeq 22
        21: .line 393
            aload 0 /* context */
            aload 3 /* a2 */
            checkcast org.jruby.RubyString
            invokestatic org.jruby.RubyRational.str_to_r_strict:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyNumeric;
            astore 3 /* a2 */
        22: .line 396
      StackMap locals:
      StackMap stack:
            aload 2 /* a1 */
            instanceof org.jruby.RubyRational
            ifeq 25
        23: .line 397
            aload 3 /* a2 */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 24
            aload 3 /* a2 */
            invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 25
            aload 0 /* context */
            aload 3 /* a2 */
            invokestatic org.jruby.util.Numeric.f_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 25
      StackMap locals:
      StackMap stack:
        24: aload 2 /* a1 */
            checkcast org.jruby.RubyRational
            areturn
        25: .line 400
      StackMap locals:
      StackMap stack:
            aload 3 /* a2 */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 29
        26: .line 401
            aload 2 /* a1 */
            instanceof org.jruby.RubyNumeric
            ifeq 27
            aload 0 /* context */
            aload 2 /* a1 */
            checkcast org.jruby.RubyNumeric
            invokestatic org.jruby.util.Numeric.f_integer_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyNumeric;)Z
            ifne 28
        27: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 2 /* a1 */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 0 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.to_r_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyRational
            areturn
        28: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* clazz */
            aload 2 /* a1 */
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
            areturn
        29: .line 406
      StackMap locals:
      StackMap stack:
            aload 2 /* a1 */
            instanceof org.jruby.RubyNumeric
            ifeq 32
            aload 3 /* a2 */
            instanceof org.jruby.RubyNumeric
            ifeq 32
        30: .line 407
            aload 0 /* context */
            aload 2 /* a1 */
            checkcast org.jruby.RubyNumeric
            invokestatic org.jruby.util.Numeric.f_integer_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyNumeric;)Z
            ifeq 31
            aload 0 /* context */
            aload 3 /* a2 */
            checkcast org.jruby.RubyNumeric
            invokestatic org.jruby.util.Numeric.f_integer_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyNumeric;)Z
            ifne 32
        31: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 2 /* a1 */
            aload 3 /* a2 */
            invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyNumeric
            areturn
        32: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* clazz */
            aload 2 /* a1 */
            aload 3 /* a2 */
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject a2
        end local 2 // org.jruby.runtime.builtin.IRubyObject a1
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   33     0  context  Lorg/jruby/runtime/ThreadContext;
            0   33     1    clazz  Lorg/jruby/RubyClass;
            0   33     2       a1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   33     3       a2  Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     4      a1c  Lorg/jruby/RubyComplex;
            5    6     4      a2c  Lorg/jruby/RubyComplex;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      a1       
      a2       

  public org.jruby.runtime.builtin.IRubyObject numerator(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 420
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"numerator"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject denominator(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 429
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"denominator"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyInteger getNumerator();
    descriptor: ()Lorg/jruby/RubyInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 433
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            areturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.RubyInteger getDenominator();
    descriptor: ()Lorg/jruby/RubyInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 437
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            areturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.RubyRational convertToRational();
    descriptor: ()Lorg/jruby/RubyRational;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 440
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.runtime.builtin.IRubyObject zero_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 444
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.isZero:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public final boolean isZero();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 449
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            ireturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.runtime.builtin.IRubyObject nonzero_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 454
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.isZero:()Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyRational;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject isNegative(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 459
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.signum:()I
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         1: iconst_0
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.Ruby int
         2: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyRational;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject isPositive(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 464
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.signum:()I
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         1: iconst_0
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.Ruby int
         2: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyRational;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public boolean isNegative();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 469
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.signum:()I
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyRational;

  public boolean isPositive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 474
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.signum:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyRational;

  public final int signum();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 477
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.signum:()I
            ireturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  private static org.jruby.RubyInteger f_imul(org.jruby.runtime.ThreadContext, long, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // long a
        start local 3 // long b
         0: .line 483
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 484
            lload 1 /* a */
            lconst_0
            lcmp
            ifeq 2
            lload 3 /* b */
            lconst_0
            lcmp
            ifne 3
         2: .line 485
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 5 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
         3: .line 487
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            lconst_1
            lcmp
            ifne 5
         4: .line 488
            aload 5 /* runtime */
            lload 3 /* b */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
         5: .line 490
      StackMap locals:
      StackMap stack:
            lload 3 /* b */
            lconst_1
            lcmp
            ifne 7
         6: .line 491
            aload 5 /* runtime */
            lload 1 /* a */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
         7: .line 494
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            lload 3 /* b */
            lmul
            lstore 6 /* c */
        start local 6 // long c
         8: .line 495
            lload 6 /* c */
            lload 1 /* a */
            ldiv
            lload 3 /* b */
            lcmp
            ifeq 10
         9: .line 496
            aload 5 /* runtime */
            lload 1 /* a */
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            aload 0 /* context */
            lload 3 /* b */
            invokevirtual org.jruby.RubyBignum.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            areturn
        10: .line 498
      StackMap locals: long
      StackMap stack:
            aload 5 /* runtime */
            lload 6 /* c */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 6 // long c
        end local 5 // org.jruby.Ruby runtime
        end local 3 // long b
        end local 1 // long a
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  context  Lorg/jruby/runtime/ThreadContext;
            0   11     1        a  J
            0   11     3        b  J
            1   11     5  runtime  Lorg/jruby/Ruby;
            8   11     6        c  J
    MethodParameters:
         Name  Flags
      context  
      a        
      b        

  private static org.jruby.RubyNumeric f_addsub(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger, org.jruby.RubyInteger, org.jruby.RubyInteger, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=22, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass metaClass
        start local 2 // org.jruby.RubyInteger anum
        start local 3 // org.jruby.RubyInteger aden
        start local 4 // org.jruby.RubyInteger bnum
        start local 5 // org.jruby.RubyInteger bden
        start local 6 // boolean plus
         0: .line 508
            aload 2 /* anum */
            instanceof org.jruby.RubyFixnum
            ifeq 11
            aload 3 /* aden */
            instanceof org.jruby.RubyFixnum
            ifeq 11
         1: .line 509
            aload 4 /* bnum */
            instanceof org.jruby.RubyFixnum
            ifeq 11
            aload 5 /* bden */
            instanceof org.jruby.RubyFixnum
            ifeq 11
         2: .line 510
            aload 2 /* anum */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 12 /* an */
        start local 12 // long an
         3: .line 511
            aload 3 /* aden */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 14 /* ad */
        start local 14 // long ad
         4: .line 512
            aload 4 /* bnum */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 16 /* bn */
        start local 16 // long bn
         5: .line 513
            aload 5 /* bden */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 18 /* bd */
        start local 18 // long bd
         6: .line 514
            lload 14 /* ad */
            lload 18 /* bd */
            invokestatic org.jruby.util.Numeric.i_gcd:(JJ)J
            lstore 20 /* ig */
        start local 20 // long ig
         7: .line 516
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            lload 20 /* ig */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            astore 9 /* g */
        start local 9 // org.jruby.RubyInteger g
         8: .line 517
            aload 0 /* context */
            lload 12 /* an */
            lload 18 /* bd */
            lload 20 /* ig */
            ldiv
            invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
            astore 10 /* a */
        start local 10 // org.jruby.RubyInteger a
         9: .line 518
            aload 0 /* context */
            lload 16 /* bn */
            lload 14 /* ad */
            lload 20 /* ig */
            ldiv
            invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
            astore 11 /* b */
        end local 20 // long ig
        end local 18 // long bd
        end local 16 // long bn
        end local 14 // long ad
        end local 12 // long an
        start local 11 // org.jruby.RubyInteger b
        10: .line 519
            goto 14
        end local 11 // org.jruby.RubyInteger b
        end local 10 // org.jruby.RubyInteger a
        end local 9 // org.jruby.RubyInteger g
        11: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 3 /* aden */
            aload 5 /* bden */
            invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 9 /* g */
        start local 9 // org.jruby.RubyInteger g
        12: .line 521
            aload 0 /* context */
            aload 2 /* anum */
            aload 0 /* context */
            aload 5 /* bden */
            aload 9 /* g */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 10 /* a */
        start local 10 // org.jruby.RubyInteger a
        13: .line 522
            aload 0 /* context */
            aload 4 /* bnum */
            aload 0 /* context */
            aload 3 /* aden */
            aload 9 /* g */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 11 /* b */
        start local 11 // org.jruby.RubyInteger b
        14: .line 525
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyClass org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyInteger int top top org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyInteger
      StackMap stack:
            iload 6 /* plus */
            ifeq 15
            aload 0 /* context */
            aload 10 /* a */
            aload 11 /* b */
            invokestatic org.jruby.util.Numeric.f_add:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 0 /* context */
            aload 10 /* a */
            aload 11 /* b */
            invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
      StackMap locals:
      StackMap stack: org.jruby.RubyInteger
        16: astore 12 /* c */
        start local 12 // org.jruby.RubyInteger c
        17: .line 527
            aload 0 /* context */
            aload 3 /* aden */
            aload 9 /* g */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 11 /* b */
        18: .line 528
            aload 0 /* context */
            aload 12 /* c */
            aload 9 /* g */
            invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 9 /* g */
        19: .line 529
            aload 0 /* context */
            aload 12 /* c */
            aload 9 /* g */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 7 /* newNum */
        start local 7 // org.jruby.RubyInteger newNum
        20: .line 530
            aload 0 /* context */
            aload 5 /* bden */
            aload 9 /* g */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 10 /* a */
        21: .line 531
            aload 0 /* context */
            aload 10 /* a */
            aload 11 /* b */
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 8 /* newDen */
        start local 8 // org.jruby.RubyInteger newDen
        22: .line 533
            aload 0 /* context */
            aload 1 /* metaClass */
            aload 7 /* newNum */
            aload 8 /* newDen */
            invokestatic org.jruby.RubyRational.newRationalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 12 // org.jruby.RubyInteger c
        end local 11 // org.jruby.RubyInteger b
        end local 10 // org.jruby.RubyInteger a
        end local 9 // org.jruby.RubyInteger g
        end local 8 // org.jruby.RubyInteger newDen
        end local 7 // org.jruby.RubyInteger newNum
        end local 6 // boolean plus
        end local 5 // org.jruby.RubyInteger bden
        end local 4 // org.jruby.RubyInteger bnum
        end local 3 // org.jruby.RubyInteger aden
        end local 2 // org.jruby.RubyInteger anum
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0    context  Lorg/jruby/runtime/ThreadContext;
            0   23     1  metaClass  Lorg/jruby/RubyClass;
            0   23     2       anum  Lorg/jruby/RubyInteger;
            0   23     3       aden  Lorg/jruby/RubyInteger;
            0   23     4       bnum  Lorg/jruby/RubyInteger;
            0   23     5       bden  Lorg/jruby/RubyInteger;
            0   23     6       plus  Z
           20   23     7     newNum  Lorg/jruby/RubyInteger;
           22   23     8     newDen  Lorg/jruby/RubyInteger;
            8   11     9          g  Lorg/jruby/RubyInteger;
           12   23     9          g  Lorg/jruby/RubyInteger;
            9   11    10          a  Lorg/jruby/RubyInteger;
           13   23    10          a  Lorg/jruby/RubyInteger;
           10   11    11          b  Lorg/jruby/RubyInteger;
           14   23    11          b  Lorg/jruby/RubyInteger;
            3   10    12         an  J
            4   10    14         ad  J
            5   10    16         bn  J
            6   10    18         bd  J
            7   10    20         ig  J
           17   23    12          c  Lorg/jruby/RubyInteger;
    MethodParameters:
           Name  Flags
      context    
      metaClass  
      anum       
      aden       
      bnum       
      bden       
      plus       final

  public org.jruby.runtime.builtin.IRubyObject op_plus(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 540
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 2
         1: .line 541
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            iconst_1
            invokestatic org.jruby.RubyRational.f_addsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
            areturn
         2: .line 543
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 4
         3: .line 544
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_add:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 546
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 6
         5: .line 547
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            invokevirtual org.jruby.RubyRational.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyNumeric;
            areturn
         6: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.op_plus:Lorg/jruby/runtime/CallSite;
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyRational;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"+"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public final org.jruby.RubyNumeric op_plus(org.jruby.runtime.ThreadContext, org.jruby.RubyRational);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyNumeric;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRational other
         0: .line 553
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            iconst_1
            invokestatic org.jruby.RubyRational.f_addsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.RubyRational other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/RubyRational;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_add(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 557
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_minus(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 562
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 2
         1: .line 563
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            iconst_0
            invokestatic org.jruby.RubyRational.f_addsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
            areturn
         2: .line 565
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 4
         3: .line 566
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 568
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 6
         5: .line 569
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            invokevirtual org.jruby.RubyRational.op_minus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyNumeric;
            areturn
         6: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.op_minus:Lorg/jruby/runtime/CallSite;
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyRational;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"-"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public final org.jruby.RubyNumeric op_minus(org.jruby.runtime.ThreadContext, org.jruby.RubyRational);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyNumeric;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRational other
         0: .line 575
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            iconst_0
            invokestatic org.jruby.RubyRational.f_addsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.RubyRational other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/RubyRational;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_sub(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 579
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.op_minus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_uminus(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 583
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.RubyRational.newRationalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  private static org.jruby.RubyNumeric f_muldiv(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger, org.jruby.RubyInteger, org.jruby.RubyInteger, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=21, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.RubyInteger anum
        start local 3 // org.jruby.RubyInteger aden
        start local 4 // org.jruby.RubyInteger bnum
        start local 5 // org.jruby.RubyInteger bden
        start local 6 // boolean mult
         0: .line 592
            iload 6 /* mult */
            ifne 6
         1: .line 593
            aload 0 /* context */
            aload 4 /* bnum */
            invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 4
         2: .line 594
            aload 2 /* anum */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 2 /* anum */
         3: .line 595
            aload 4 /* bnum */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 4 /* bnum */
         4: .line 597
      StackMap locals:
      StackMap stack:
            aload 4 /* bnum */
            astore 7 /* tmp */
        start local 7 // org.jruby.RubyInteger tmp
         5: aload 5 /* bden */
            astore 4 /* bnum */
            aload 7 /* tmp */
            astore 5 /* bden */
        end local 7 // org.jruby.RubyInteger tmp
         6: .line 601
      StackMap locals:
      StackMap stack:
            aload 2 /* anum */
            instanceof org.jruby.RubyFixnum
            ifeq 17
            aload 3 /* aden */
            instanceof org.jruby.RubyFixnum
            ifeq 17
         7: .line 602
            aload 4 /* bnum */
            instanceof org.jruby.RubyFixnum
            ifeq 17
            aload 5 /* bden */
            instanceof org.jruby.RubyFixnum
            ifeq 17
         8: .line 603
            aload 2 /* anum */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 9 /* an */
        start local 9 // long an
         9: .line 604
            aload 3 /* aden */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 11 /* ad */
        start local 11 // long ad
        10: .line 605
            aload 4 /* bnum */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 13 /* bn */
        start local 13 // long bn
        11: .line 606
            aload 5 /* bden */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 15 /* bd */
        start local 15 // long bd
        12: .line 607
            lload 9 /* an */
            lload 15 /* bd */
            invokestatic org.jruby.util.Numeric.i_gcd:(JJ)J
            lstore 17 /* g1 */
        start local 17 // long g1
        13: .line 608
            lload 11 /* ad */
            lload 13 /* bn */
            invokestatic org.jruby.util.Numeric.i_gcd:(JJ)J
            lstore 19 /* g2 */
        start local 19 // long g2
        14: .line 610
            aload 0 /* context */
            lload 9 /* an */
            lload 17 /* g1 */
            ldiv
            lload 13 /* bn */
            lload 19 /* g2 */
            ldiv
            invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
            astore 7 /* newNum */
        start local 7 // org.jruby.RubyInteger newNum
        15: .line 611
            aload 0 /* context */
            lload 11 /* ad */
            lload 19 /* g2 */
            ldiv
            lload 15 /* bd */
            lload 17 /* g1 */
            ldiv
            invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
            astore 8 /* newDen */
        end local 19 // long g2
        end local 17 // long g1
        end local 15 // long bd
        end local 13 // long bn
        end local 11 // long ad
        end local 9 // long an
        start local 8 // org.jruby.RubyInteger newDen
        16: .line 612
            goto 21
        end local 8 // org.jruby.RubyInteger newDen
        end local 7 // org.jruby.RubyInteger newNum
        17: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 2 /* anum */
            aload 5 /* bden */
            invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 9 /* g1 */
        start local 9 // org.jruby.RubyInteger g1
        18: .line 614
            aload 0 /* context */
            aload 3 /* aden */
            aload 4 /* bnum */
            invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 10 /* g2 */
        start local 10 // org.jruby.RubyInteger g2
        19: .line 616
            aload 0 /* context */
            aload 0 /* context */
            aload 2 /* anum */
            aload 9 /* g1 */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            aload 0 /* context */
            aload 4 /* bnum */
            aload 10 /* g2 */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 7 /* newNum */
        start local 7 // org.jruby.RubyInteger newNum
        20: .line 617
            aload 0 /* context */
            aload 0 /* context */
            aload 3 /* aden */
            aload 10 /* g2 */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            aload 0 /* context */
            aload 5 /* bden */
            aload 9 /* g1 */
            invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 8 /* newDen */
        end local 10 // org.jruby.RubyInteger g2
        end local 9 // org.jruby.RubyInteger g1
        start local 8 // org.jruby.RubyInteger newDen
        21: .line 620
      StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger
      StackMap stack:
            aload 0 /* context */
            aload 1 /* clazz */
            aload 7 /* newNum */
            aload 8 /* newDen */
            invokestatic org.jruby.RubyRational.newRationalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 8 // org.jruby.RubyInteger newDen
        end local 7 // org.jruby.RubyInteger newNum
        end local 6 // boolean mult
        end local 5 // org.jruby.RubyInteger bden
        end local 4 // org.jruby.RubyInteger bnum
        end local 3 // org.jruby.RubyInteger aden
        end local 2 // org.jruby.RubyInteger anum
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0  context  Lorg/jruby/runtime/ThreadContext;
            0   22     1    clazz  Lorg/jruby/RubyClass;
            0   22     2     anum  Lorg/jruby/RubyInteger;
            0   22     3     aden  Lorg/jruby/RubyInteger;
            0   22     4     bnum  Lorg/jruby/RubyInteger;
            0   22     5     bden  Lorg/jruby/RubyInteger;
            0   22     6     mult  Z
            5    6     7      tmp  Lorg/jruby/RubyInteger;
           15   17     7   newNum  Lorg/jruby/RubyInteger;
           20   22     7   newNum  Lorg/jruby/RubyInteger;
           16   17     8   newDen  Lorg/jruby/RubyInteger;
           21   22     8   newDen  Lorg/jruby/RubyInteger;
            9   16     9       an  J
           10   16    11       ad  J
           11   16    13       bn  J
           12   16    15       bd  J
           13   16    17       g1  J
           14   16    19       g2  J
           18   21     9       g1  Lorg/jruby/RubyInteger;
           19   21    10       g2  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      clazz    
      anum     
      aden     
      bnum     
      bden     
      mult     final

  public org.jruby.runtime.builtin.IRubyObject op_mul(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 628
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 2
         1: .line 629
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            checkcast org.jruby.RubyInteger
            invokevirtual org.jruby.RubyRational.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 631
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 4
         3: .line 632
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 634
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 7
         5: .line 635
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            astore 3 /* otherRational */
        start local 3 // org.jruby.RubyRational otherRational
         6: .line 636
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            iconst_1
            invokestatic org.jruby.RubyRational.f_muldiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.RubyRational otherRational
         7: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.op_times:Lorg/jruby/runtime/CallSite;
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/jruby/RubyRational;
            0    8     1        context  Lorg/jruby/runtime/ThreadContext;
            0    8     2          other  Lorg/jruby/runtime/builtin/IRubyObject;
            6    7     3  otherRational  Lorg/jruby/RubyRational;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"*"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_mul(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyInteger other
         0: .line 642
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            iconst_1
            invokestatic org.jruby.RubyRational.f_muldiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.RubyInteger other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_div(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 650
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 2
         1: .line 651
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            checkcast org.jruby.RubyInteger
            invokevirtual org.jruby.RubyRational.op_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
         2: .line 653
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 5
         3: .line 654
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* fval */
        start local 3 // org.jruby.runtime.builtin.IRubyObject fval
         4: .line 655
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
            getfield org.jruby.runtime.JavaSites.Float:Lorg/jruby/runtime/JavaSites$FloatSites;
            getfield org.jruby.runtime.JavaSites$FloatSites.op_quo:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 3 /* fval */
            aload 3 /* fval */
            aload 2 /* other */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject fval
         5: .line 657
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 10
         6: .line 658
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            invokevirtual org.jruby.RubyRational.isZero:()Z
            ifeq 8
         7: .line 659
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 661
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            astore 3 /* otherRational */
        start local 3 // org.jruby.RubyRational otherRational
         9: .line 662
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            iconst_0
            invokestatic org.jruby.RubyRational.f_muldiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
            areturn
        end local 3 // org.jruby.RubyRational otherRational
        10: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.op_quo:Lorg/jruby/runtime/CallSite;
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/jruby/RubyRational;
            0   11     1        context  Lorg/jruby/runtime/ThreadContext;
            0   11     2          other  Lorg/jruby/runtime/builtin/IRubyObject;
            4    5     3           fval  Lorg/jruby/runtime/builtin/IRubyObject;
            9   10     3  otherRational  Lorg/jruby/RubyRational;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"/", "quo"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public final org.jruby.RubyNumeric op_div(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyInteger other
         0: .line 668
            aload 2 /* other */
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            ifeq 2
         1: .line 669
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 671
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            iconst_0
            invokestatic org.jruby.RubyRational.f_muldiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
            areturn
        end local 2 // org.jruby.RubyInteger other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyRational;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    other  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject fdiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 680
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"fdiv"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_expt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 688
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 2
            aload 1 /* context */
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 2
         1: .line 689
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            lconst_1
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
            areturn
         2: .line 692
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 5
         3: .line 693
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            astore 3 /* otherRational */
        start local 3 // org.jruby.RubyRational otherRational
         4: .line 694
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isOne:()Z
            ifeq 5
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            astore 2 /* other */
        end local 3 // org.jruby.RubyRational otherRational
         5: .line 698
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.k_numeric_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 16
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 16
         6: .line 699
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isOne:()Z
            ifeq 16
         7: .line 700
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isOne:()Z
            ifeq 9
         8: .line 701
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            lconst_1
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
            areturn
         9: .line 703
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_minus_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 13
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.k_integer_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 13
        10: .line 704
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 1 /* context */
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_odd_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 11
            iconst_m1
            goto 12
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass
        11: iconst_1
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass int
        12: i2l
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
            areturn
        13: .line 706
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 16
        14: .line 707
            aload 1 /* context */
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 15
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 708
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            lconst_0
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
            areturn
        16: .line 714
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 18
        17: .line 715
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            checkcast org.jruby.RubyInteger
            aload 2 /* other */
            checkcast org.jruby.RubyInteger
            invokevirtual org.jruby.RubyInteger.signum:()I
            invokevirtual org.jruby.RubyRational.fix_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;I)Lorg/jruby/RubyNumeric;
            areturn
        18: .line 717
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifne 19
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 20
        19: .line 718
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        20: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.op_exp:Lorg/jruby/runtime/CallSite;
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/jruby/RubyRational;
            0   21     1        context  Lorg/jruby/runtime/ThreadContext;
            0   21     2          other  Lorg/jruby/runtime/builtin/IRubyObject;
            4    5     3  otherRational  Lorg/jruby/RubyRational;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"**"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public final org.jruby.runtime.builtin.IRubyObject op_expt(org.jruby.runtime.ThreadContext, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // long other
         0: .line 724
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 726
            lload 2 /* other */
            lconst_0
            lcmp
            ifne 3
         2: .line 727
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            lconst_1
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
            areturn
         3: .line 731
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isOne:()Z
            ifeq 13
         4: .line 732
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isOne:()Z
            ifeq 6
         5: .line 733
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            lconst_1
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
            areturn
         6: .line 735
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_minus_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 10
         7: .line 736
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            lload 2 /* other */
            ldc 2
            lrem
            lconst_0
            lcmp
            ifeq 8
            iconst_m1
            goto 9
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext long org.jruby.Ruby
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass
         8: iconst_1
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext long org.jruby.Ruby
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass int
         9: i2l
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
            areturn
        10: .line 738
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 13
        11: .line 739
            lload 2 /* other */
            lconst_0
            lcmp
            ifge 12
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
        12: .line 740
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            lconst_0
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
            areturn
        13: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* runtime */
            lload 2 /* other */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            lload 2 /* other */
            invokestatic java.lang.Long.signum:(J)I
            invokevirtual org.jruby.RubyRational.fix_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;I)Lorg/jruby/RubyNumeric;
            areturn
        end local 4 // org.jruby.Ruby runtime
        end local 2 // long other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyRational;
            0   14     1  context  Lorg/jruby/runtime/ThreadContext;
            0   14     2    other  J
            1   14     4  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      context  
      other    

  private org.jruby.RubyNumeric fix_expt(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;I)Lorg/jruby/RubyNumeric;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyInteger other
        start local 3 // int sign
         0: .line 750
            iload 3 /* sign */
            ifle 4
         1: .line 751
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            checkcast org.jruby.RubyInteger
            astore 4 /* tnum */
        start local 4 // org.jruby.RubyInteger tnum
         2: .line 752
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            checkcast org.jruby.RubyInteger
            astore 5 /* tden */
        start local 5 // org.jruby.RubyInteger tden
         3: .line 753
            goto 11
        end local 5 // org.jruby.RubyInteger tden
        end local 4 // org.jruby.RubyInteger tnum
      StackMap locals:
      StackMap stack:
         4: iload 3 /* sign */
            ifge 9
         5: .line 754
            aload 2 /* other */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 6 /* otherNeg */
        start local 6 // org.jruby.RubyInteger otherNeg
         6: .line 755
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 6 /* otherNeg */
            invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            checkcast org.jruby.RubyInteger
            astore 4 /* tnum */
        start local 4 // org.jruby.RubyInteger tnum
         7: .line 756
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 6 /* otherNeg */
            invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            checkcast org.jruby.RubyInteger
            astore 5 /* tden */
        end local 6 // org.jruby.RubyInteger otherNeg
        start local 5 // org.jruby.RubyInteger tden
         8: .line 757
            goto 11
        end local 5 // org.jruby.RubyInteger tden
        end local 4 // org.jruby.RubyInteger tnum
         9: .line 758
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            dup
            astore 5 /* tden */
        start local 5 // org.jruby.RubyInteger tden
        10: astore 4 /* tnum */
        start local 4 // org.jruby.RubyInteger tnum
        11: .line 760
      StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 4 /* tnum */
            aload 5 /* tden */
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 5 // org.jruby.RubyInteger tden
        end local 4 // org.jruby.RubyInteger tnum
        end local 3 // int sign
        end local 2 // org.jruby.RubyInteger other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/jruby/RubyRational;
            0   12     1   context  Lorg/jruby/runtime/ThreadContext;
            0   12     2     other  Lorg/jruby/RubyInteger;
            0   12     3      sign  I
            2    4     4      tnum  Lorg/jruby/RubyInteger;
            7    9     4      tnum  Lorg/jruby/RubyInteger;
           11   12     4      tnum  Lorg/jruby/RubyInteger;
            3    4     5      tden  Lorg/jruby/RubyInteger;
            8    9     5      tden  Lorg/jruby/RubyInteger;
           10   12     5      tden  Lorg/jruby/RubyInteger;
            6    8     6  otherNeg  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      other    
      sign     final

  public org.jruby.runtime.builtin.IRubyObject op_cmp(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 769
            aload 2 /* other */
            instanceof org.jruby.RubyFixnum
            ifne 1
            aload 2 /* other */
            instanceof org.jruby.RubyBignum
            ifeq 3
         1: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            instanceof org.jruby.RubyFixnum
            ifeq 2
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            lconst_1
            lcmp
            ifne 2
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 771
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 2 /* other */
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 773
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 5
         4: .line 774
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 776
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 15
         6: .line 777
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            astore 3 /* otherRational */
        start local 3 // org.jruby.RubyRational otherRational
         7: .line 779
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            instanceof org.jruby.RubyFixnum
            ifeq 12
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            instanceof org.jruby.RubyFixnum
            ifeq 12
         8: .line 780
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            instanceof org.jruby.RubyFixnum
            ifeq 12
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            instanceof org.jruby.RubyFixnum
            ifeq 12
         9: .line 781
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
            astore 4 /* num1 */
        start local 4 // org.jruby.RubyInteger num1
        10: .line 782
            aload 1 /* context */
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
            astore 5 /* num2 */
        start local 5 // org.jruby.RubyInteger num2
        11: .line 783
            goto 14
        end local 5 // org.jruby.RubyInteger num2
        end local 4 // org.jruby.RubyInteger num1
        12: .line 784
      StackMap locals: org.jruby.RubyRational
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 4 /* num1 */
        start local 4 // org.jruby.RubyInteger num1
        13: .line 785
            aload 1 /* context */
            aload 3 /* otherRational */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 5 /* num2 */
        start local 5 // org.jruby.RubyInteger num2
        14: .line 787
      StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            aload 4 /* num1 */
            aload 5 /* num2 */
            invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyFixnum;
            areturn
        end local 5 // org.jruby.RubyInteger num2
        end local 4 // org.jruby.RubyInteger num1
        end local 3 // org.jruby.RubyRational otherRational
        15: .line 789
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.op_cmp:Lorg/jruby/runtime/CallSite;
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.coerceCmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/jruby/RubyRational;
            0   16     1        context  Lorg/jruby/runtime/ThreadContext;
            0   16     2          other  Lorg/jruby/runtime/builtin/IRubyObject;
            7   15     3  otherRational  Lorg/jruby/RubyRational;
           10   12     4           num1  Lorg/jruby/RubyInteger;
           13   15     4           num1  Lorg/jruby/RubyInteger;
           11   12     5           num2  Lorg/jruby/RubyInteger;
           14   15     5           num2  Lorg/jruby/RubyInteger;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<=>"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 798
            aload 2 /* other */
            instanceof org.jruby.RubyFixnum
            ifne 1
            aload 2 /* other */
            instanceof org.jruby.RubyBignum
            ifeq 2
         1: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            checkcast org.jruby.RubyInteger
            invokevirtual org.jruby.RubyRational.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 801
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 4
         3: .line 802
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 804
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 6
         5: .line 805
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            invokevirtual org.jruby.RubyRational.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyBoolean;
            areturn
         6: .line 807
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* other */
            aload 0 /* this */
            invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyRational;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"=="})
    MethodParameters:
         Name  Flags
      context  
      other    

  public final org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyInteger other
         0: .line 811
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* other */
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         1: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            instanceof org.jruby.RubyFixnum
            ifeq 2
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            lconst_1
            lcmp
            ifeq 3
      StackMap locals:
      StackMap stack:
         2: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         3: .line 813
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyInteger other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyRational;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    other  Lorg/jruby/RubyInteger;
    MethodParameters:
         Name  Flags
      context  
      other    

  final org.jruby.RubyBoolean op_equal(org.jruby.runtime.ThreadContext, org.jruby.RubyRational);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyBoolean;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRational other
         0: .line 817
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* other */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         1: .line 818
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
         2: .line 819
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 3
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            aload 2 /* other */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         3: iconst_0
         4: .line 818
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.RubyRational
      StackMap stack: org.jruby.Ruby int
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.RubyRational other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyRational;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    other  Lorg/jruby/RubyRational;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject eql_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 824
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         1: .line 825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            invokevirtual org.jruby.RubyRational.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyRational;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_coerce(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 833
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 834
            aload 2 /* other */
            instanceof org.jruby.RubyFixnum
            ifne 2
            aload 2 /* other */
            instanceof org.jruby.RubyBignum
            ifeq 3
         2: .line 835
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* runtime */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 2 /* other */
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
         3: .line 836
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 5
         4: .line 837
            aload 3 /* runtime */
            aload 2 /* other */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
         5: .line 838
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 7
         6: .line 839
            aload 3 /* runtime */
            aload 2 /* other */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
         7: .line 840
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyComplex
            ifeq 12
         8: .line 841
            aload 2 /* other */
            checkcast org.jruby.RubyComplex
            astore 4 /* otherComplex */
        start local 4 // org.jruby.RubyComplex otherComplex
         9: .line 842
            aload 4 /* otherComplex */
            invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 11
            aload 1 /* context */
            aload 4 /* otherComplex */
            invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 11
        10: .line 843
            aload 3 /* runtime */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 4 /* otherComplex */
            invokevirtual org.jruby.RubyComplex.getReal:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        11: .line 845
      StackMap locals: org.jruby.RubyComplex
      StackMap stack:
            aload 3 /* runtime */
            aload 2 /* other */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.RubyComplex.newComplexCanonicalize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 4 // org.jruby.RubyComplex otherComplex
        12: .line 848
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " can't be coerced into "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/jruby/RubyRational;
            0   13     1       context  Lorg/jruby/runtime/ThreadContext;
            0   13     2         other  Lorg/jruby/runtime/builtin/IRubyObject;
            1   13     3       runtime  Lorg/jruby/Ruby;
            9   12     4  otherComplex  Lorg/jruby/RubyComplex;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"coerce"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject idiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 853
            aload 1 /* context */
            aload 2 /* other */
            invokestatic org.jruby.RubyRational.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
            dconst_0
            dcmpl
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 855
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyRational;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_mod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 859
            aload 1 /* context */
            aload 2 /* other */
            invokestatic org.jruby.RubyRational.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
            dconst_0
            dcmpl
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 861
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyRational;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_mod19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 866
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.op_mod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_divmod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 874
            aload 1 /* context */
            aload 2 /* other */
            invokestatic org.jruby.RubyRational.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
            dconst_0
            dcmpl
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 876
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* val */
        start local 3 // org.jruby.runtime.builtin.IRubyObject val
         2: .line 877
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* val */
            aload 1 /* context */
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            aload 3 /* val */
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject val
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyRational;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     3      val  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"divmod"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_divmod19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 882
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.op_divmod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_rem(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 890
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_truncate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* val */
        start local 3 // org.jruby.runtime.builtin.IRubyObject val
         1: .line 891
            aload 1 /* context */
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            aload 3 /* val */
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject val
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyRational;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     3      val  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"remainder"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_abs(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 899
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifne 1
            aload 0 /* this */
            areturn
         1: .line 900
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyRational;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"abs"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject floor(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 908
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"floor"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject floor(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
         0: .line 913
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* n */
            getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"floor"})
    MethodParameters:
         Name  Flags
      context  
      n        

  private org.jruby.runtime.builtin.IRubyObject mriFloor(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 918
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject ceil(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 927
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ceil"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject ceil(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
         0: .line 932
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* n */
            getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ceil"})
    MethodParameters:
         Name  Flags
      context  
      n        

  private org.jruby.runtime.builtin.IRubyObject mriCeil(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 937
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 1 /* context */
            invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyInteger convertToInteger();
    descriptor: ()Lorg/jruby/RubyInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 942
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyRational.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyRational.mriTruncate:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
            areturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.runtime.builtin.IRubyObject to_i(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 947
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.mriTruncate:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_i"})
    MethodParameters:
         Name  Flags
      context  

  public long getLongValue();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 952
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            lreturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public java.math.BigInteger getBigIntegerValue();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 957
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getBigIntegerValue:()Ljava/math/BigInteger;
            areturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.runtime.builtin.IRubyObject truncate(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 965
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"truncate"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject truncate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
         0: .line 970
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* n */
            getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"truncate"})
    MethodParameters:
         Name  Flags
      context  
      n        

  private org.jruby.RubyInteger mriTruncate(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 974
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isNegative:()Z
            ifeq 2
         1: .line 975
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            areturn
         2: .line 977
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyRational;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject round(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 982
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"round"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject round(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
         0: .line 988
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* n */
            invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* opts */
        start local 3 // org.jruby.runtime.builtin.IRubyObject opts
         1: .line 989
            aload 3 /* opts */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* n */
         2: .line 991
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* context */
            aload 3 /* opts */
            invokestatic org.jruby.RubyNumeric.getRoundingMode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/math/RoundingMode;
            astore 4 /* mode */
        start local 4 // java.math.RoundingMode mode
         3: .line 993
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* n */
            aload 4 /* mode */
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // java.math.RoundingMode mode
        end local 3 // org.jruby.runtime.builtin.IRubyObject opts
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyRational;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3     opts  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     4     mode  Ljava/math/RoundingMode;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"round"})
    MethodParameters:
         Name  Flags
      context  
      n        

  public org.jruby.runtime.builtin.IRubyObject round(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
        start local 3 // org.jruby.runtime.builtin.IRubyObject opts
         0: .line 998
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1000
            aload 4 /* runtime */
            aload 3 /* opts */
            invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* opts */
         2: .line 1001
            aload 3 /* opts */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
         3: .line 1002
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* n */
         4: .line 1005
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* context */
            aload 3 /* opts */
            invokestatic org.jruby.RubyNumeric.getRoundingMode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/math/RoundingMode;
            astore 5 /* mode */
        start local 5 // java.math.RoundingMode mode
         5: .line 1007
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* n */
            aload 5 /* mode */
            invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // java.math.RoundingMode mode
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject opts
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyRational;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3     opts  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     4  runtime  Lorg/jruby/Ruby;
            5    6     5     mode  Ljava/math/RoundingMode;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"round"})
    MethodParameters:
         Name  Flags
      context  
      n        
      opts     

  private org.jruby.runtime.builtin.IRubyObject roundCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.math.RoundingMode);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
        start local 3 // java.math.RoundingMode mode
         0: .line 1012
            aload 2 /* n */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 2
         1: .line 1013
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* mode */
            invokevirtual org.jruby.RubyRational.doRound:(Lorg/jruby/runtime/ThreadContext;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 1016
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         3: .line 1018
            aload 2 /* n */
            instanceof org.jruby.RubyInteger
            ifne 5
         4: .line 1019
            aload 4 /* runtime */
            aload 2 /* n */
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getInteger:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 1022
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* n */
            checkcast org.jruby.RubyInteger
            invokevirtual org.jruby.RubyInteger.signum:()I
            istore 5 /* nsign */
        start local 5 // int nsign
         6: .line 1024
            aload 1 /* context */
            aload 4 /* runtime */
            bipush 10
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            aload 2 /* n */
            checkcast org.jruby.RubyInteger
            invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            astore 6 /* b */
        start local 6 // org.jruby.RubyNumeric b
         7: .line 1026
            iload 5 /* nsign */
            iflt 10
         8: .line 1027
            aload 0 /* this */
            aload 1 /* context */
            aload 6 /* b */
            checkcast org.jruby.RubyInteger
            invokevirtual org.jruby.RubyRational.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* s */
        start local 7 // org.jruby.runtime.builtin.IRubyObject s
         9: .line 1028
            goto 11
        end local 7 // org.jruby.runtime.builtin.IRubyObject s
        10: .line 1030
      StackMap locals: int org.jruby.RubyNumeric
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 6 /* b */
            invokevirtual org.jruby.RubyRational.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* s */
        start local 7 // org.jruby.runtime.builtin.IRubyObject s
        11: .line 1033
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* s */
            instanceof org.jruby.RubyFloat
            ifeq 14
        12: .line 1034
            iload 5 /* nsign */
            ifge 13
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        13: .line 1035
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        14: .line 1038
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            instanceof org.jruby.RubyRational
            ifne 16
        15: .line 1039
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 7 /* s */
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            astore 7 /* s */
        16: .line 1042
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            checkcast org.jruby.RubyRational
            aload 1 /* context */
            aload 3 /* mode */
            invokevirtual org.jruby.RubyRational.doRound:(Lorg/jruby/runtime/ThreadContext;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* s */
        17: .line 1044
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
            aload 7 /* s */
            checkcast org.jruby.RubyInteger
            invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            astore 7 /* s */
        18: .line 1045
            aload 7 /* s */
            checkcast org.jruby.RubyRational
            aload 1 /* context */
            aload 6 /* b */
            invokevirtual org.jruby.RubyRational.op_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* s */
        19: .line 1047
            aload 7 /* s */
            instanceof org.jruby.RubyRational
            ifeq 21
            aload 1 /* context */
            aload 2 /* n */
            checkcast org.jruby.RubyInteger
            lconst_1
            invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;J)Lorg/jruby/RubyFixnum;
            getfield org.jruby.RubyFixnum.value:J
            lconst_0
            lcmp
            ifge 21
        20: .line 1048
            aload 7 /* s */
            checkcast org.jruby.RubyRational
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.truncate:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* s */
        21: .line 1051
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            areturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject s
        end local 6 // org.jruby.RubyNumeric b
        end local 5 // int nsign
        end local 4 // org.jruby.Ruby runtime
        end local 3 // java.math.RoundingMode mode
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lorg/jruby/RubyRational;
            0   22     1  context  Lorg/jruby/runtime/ThreadContext;
            0   22     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
            0   22     3     mode  Ljava/math/RoundingMode;
            3   22     4  runtime  Lorg/jruby/Ruby;
            6   22     5    nsign  I
            7   22     6        b  Lorg/jruby/RubyNumeric;
            9   10     7        s  Lorg/jruby/runtime/builtin/IRubyObject;
           11   22     7        s  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      n        final
      mode     

  private org.jruby.runtime.builtin.IRubyObject doRound(org.jruby.runtime.ThreadContext, java.math.RoundingMode);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.math.RoundingMode mode
         0: .line 1055
            invokestatic org.jruby.RubyRational.$SWITCH_TABLE$java$math$RoundingMode:()[I
            aload 2 /* mode */
            invokevirtual java.math.RoundingMode.ordinal:()I
            iaload
            tableswitch { // 3 - 8
                    3: 5
                    4: 4
                    5: 1
                    6: 3
                    7: 2
                    8: 6
              default: 7
          }
         1: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.roundHalfUp:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
            areturn
         2: .line 1059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.roundHalfEven:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
            areturn
         3: .line 1061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.roundHalfDown:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
            areturn
         4: .line 1063
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.mriFloor:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 1065
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.mriCeil:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 1067
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.mriTruncate:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
            areturn
         7: .line 1069
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "BUG: invalid rounding mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 2 // java.math.RoundingMode mode
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyRational;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2     mode  Ljava/math/RoundingMode;
    MethodParameters:
         Name  Flags
      context  
      mode     

  private org.jruby.RubyInteger roundHalfDown(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1076
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            astore 2 /* num */
        start local 2 // org.jruby.RubyInteger num
         1: aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            astore 3 /* den */
        start local 3 // org.jruby.RubyInteger den
         2: .line 1078
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.isNegative:()Z
            istore 4 /* neg */
        start local 4 // boolean neg
         3: .line 1080
            iload 4 /* neg */
            ifeq 5
         4: .line 1081
            aload 2 /* num */
            aload 1 /* context */
            invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         5: .line 1084
      StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger int
      StackMap stack:
            aload 2 /* num */
            aload 1 /* context */
            ldc 2
            invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         6: .line 1085
            aload 2 /* num */
            aload 1 /* context */
            lconst_1
            invokevirtual org.jruby.RubyInteger.op_minus:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         7: .line 1086
            aload 3 /* den */
            aload 1 /* context */
            ldc 2
            invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 3 /* den */
         8: .line 1087
            aload 2 /* num */
            aload 1 /* context */
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         9: .line 1089
            iload 4 /* neg */
            ifeq 11
        10: .line 1090
            aload 2 /* num */
            aload 1 /* context */
            invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
        11: .line 1093
      StackMap locals:
      StackMap stack:
            aload 2 /* num */
            areturn
        end local 4 // boolean neg
        end local 3 // org.jruby.RubyInteger den
        end local 2 // org.jruby.RubyInteger num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/jruby/RubyRational;
            0   12     1  context  Lorg/jruby/runtime/ThreadContext;
            1   12     2      num  Lorg/jruby/RubyInteger;
            2   12     3      den  Lorg/jruby/RubyInteger;
            3   12     4      neg  Z
    MethodParameters:
         Name  Flags
      context  

  private org.jruby.RubyInteger roundHalfEven(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1099
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            astore 2 /* num */
        start local 2 // org.jruby.RubyInteger num
         1: aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            astore 3 /* den */
        start local 3 // org.jruby.RubyInteger den
         2: .line 1102
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.isNegative:()Z
            istore 5 /* neg */
        start local 5 // boolean neg
         3: .line 1104
            iload 5 /* neg */
            ifeq 5
         4: .line 1105
            aload 2 /* num */
            aload 1 /* context */
            invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         5: .line 1108
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.RubyInteger org.jruby.RubyInteger top int
      StackMap stack:
            aload 2 /* num */
            aload 1 /* context */
            ldc 2
            invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         6: .line 1109
            aload 3 /* den */
            aload 1 /* context */
            ldc 2
            invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 3 /* den */
         7: .line 1110
            aload 2 /* num */
            aload 1 /* context */
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.divmod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 4 /* qr */
        start local 4 // org.jruby.RubyArray qr
         8: .line 1111
            aload 4 /* qr */
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         9: .line 1112
            aload 4 /* qr */
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            ifeq 11
        10: .line 1113
            aload 2 /* num */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc -2
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyInteger.op_and:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
        11: .line 1116
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyArray int
      StackMap stack:
            iload 5 /* neg */
            ifeq 13
        12: .line 1117
            aload 2 /* num */
            aload 1 /* context */
            invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
        13: .line 1120
      StackMap locals:
      StackMap stack:
            aload 2 /* num */
            areturn
        end local 5 // boolean neg
        end local 4 // org.jruby.RubyArray qr
        end local 3 // org.jruby.RubyInteger den
        end local 2 // org.jruby.RubyInteger num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyRational;
            0   14     1  context  Lorg/jruby/runtime/ThreadContext;
            1   14     2      num  Lorg/jruby/RubyInteger;
            2   14     3      den  Lorg/jruby/RubyInteger;
            8   14     4       qr  Lorg/jruby/RubyArray;
            3   14     5      neg  Z
    MethodParameters:
         Name  Flags
      context  

  private org.jruby.RubyInteger roundHalfUp(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1126
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            astore 2 /* num */
        start local 2 // org.jruby.RubyInteger num
         1: aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            astore 3 /* den */
        start local 3 // org.jruby.RubyInteger den
         2: .line 1128
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.isNegative:()Z
            istore 4 /* neg */
        start local 4 // boolean neg
         3: .line 1130
            iload 4 /* neg */
            ifeq 5
         4: .line 1131
            aload 2 /* num */
            aload 1 /* context */
            invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         5: .line 1134
      StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger int
      StackMap stack:
            aload 2 /* num */
            aload 1 /* context */
            ldc 2
            invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         6: .line 1135
            aload 3 /* den */
            aload 1 /* context */
            ldc 2
            invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 3 /* den */
         7: .line 1136
            aload 2 /* num */
            aload 1 /* context */
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
         8: .line 1138
            iload 4 /* neg */
            ifeq 10
         9: .line 1139
            aload 2 /* num */
            aload 1 /* context */
            invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 2 /* num */
        10: .line 1142
      StackMap locals:
      StackMap stack:
            aload 2 /* num */
            areturn
        end local 4 // boolean neg
        end local 3 // org.jruby.RubyInteger den
        end local 2 // org.jruby.RubyInteger num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyRational;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            1   11     2      num  Lorg/jruby/RubyInteger;
            2   11     3      den  Lorg/jruby/RubyInteger;
            3   11     4      neg  Z
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject to_f(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1151
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.getDoubleValue:(Lorg/jruby/runtime/ThreadContext;)D
            invokevirtual org.jruby.Ruby.newFloat:(D)Lorg/jruby/RubyFloat;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_f"})
    MethodParameters:
         Name  Flags
      context  

  public double getDoubleValue();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 1156
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyRational.getDoubleValue:(Lorg/jruby/runtime/ThreadContext;)D
            dreturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public double getDoubleValue(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=17, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1163
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 1
            dconst_0
            dreturn
         1: .line 1165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            astore 2 /* myNum */
        start local 2 // org.jruby.RubyInteger myNum
         2: .line 1166
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            astore 3 /* myDen */
        start local 3 // org.jruby.RubyInteger myDen
         3: .line 1168
            iconst_0
            istore 4 /* minus */
        start local 4 // boolean minus
         4: .line 1169
            aload 1 /* context */
            aload 2 /* myNum */
            invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 7
         5: .line 1170
            aload 1 /* context */
            aload 2 /* myNum */
            invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
            astore 2 /* myNum */
         6: .line 1171
            iconst_1
            istore 4 /* minus */
         7: .line 1174
      StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger int
      StackMap stack:
            aload 1 /* context */
            aload 2 /* myNum */
            invokestatic org.jruby.util.Numeric.i_ilog2:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)J
            lstore 5 /* nl */
        start local 5 // long nl
         8: .line 1175
            aload 1 /* context */
            aload 3 /* myDen */
            invokestatic org.jruby.util.Numeric.i_ilog2:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)J
            lstore 7 /* dl */
        start local 7 // long dl
         9: .line 1177
            lconst_0
            lstore 9 /* ne */
        start local 9 // long ne
        10: .line 1178
            lload 5 /* nl */
            getstatic org.jruby.RubyRational.ML:J
            lcmp
            ifle 13
        11: .line 1179
            lload 5 /* nl */
            getstatic org.jruby.RubyRational.ML:J
            lsub
            lstore 9 /* ne */
        12: .line 1180
            aload 2 /* myNum */
            aload 1 /* context */
            lload 9 /* ne */
            invokevirtual org.jruby.RubyInteger.op_rshift:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/RubyInteger;
            astore 2 /* myNum */
        13: .line 1183
      StackMap locals: long long long
      StackMap stack:
            lconst_0
            lstore 11 /* de */
        start local 11 // long de
        14: .line 1184
            lload 7 /* dl */
            getstatic org.jruby.RubyRational.ML:J
            lcmp
            ifle 17
        15: .line 1185
            lload 7 /* dl */
            getstatic org.jruby.RubyRational.ML:J
            lsub
            lstore 11 /* de */
        16: .line 1186
            aload 3 /* myDen */
            aload 1 /* context */
            lload 11 /* de */
            invokevirtual org.jruby.RubyInteger.op_rshift:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/RubyInteger;
            astore 3 /* myDen */
        17: .line 1189
      StackMap locals: long
      StackMap stack:
            lload 9 /* ne */
            lload 11 /* de */
            lsub
            lstore 13 /* e */
        start local 13 // long e
        18: .line 1191
            lload 13 /* e */
            ldc 1023
            lcmp
            ifgt 19
            lload 13 /* e */
            ldc -1022
            lcmp
            ifge 23
        19: .line 1192
      StackMap locals: long
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.FLOAT_OUT_OF_RANGE:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "out of Float range"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
        20: .line 1193
            lload 13 /* e */
            lconst_0
            lcmp
            ifle 21
            ldc 1.7976931348623157E308
            goto 22
      StackMap locals:
      StackMap stack:
        21: dconst_0
      StackMap locals:
      StackMap stack: double
        22: dreturn
        23: .line 1196
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* myNum */
            invokestatic org.jruby.RubyNumeric.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
            aload 1 /* context */
            aload 3 /* myDen */
            invokestatic org.jruby.RubyNumeric.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
            ddiv
            dstore 15 /* f */
        start local 15 // double f
        24: .line 1198
            iload 4 /* minus */
            ifeq 25
            dload 15 /* f */
            dneg
            dstore 15 /* f */
        25: .line 1200
      StackMap locals: double
      StackMap stack:
            dload 15 /* f */
            lload 13 /* e */
            invokestatic org.jruby.util.Numeric.ldexp:(DJ)D
            dstore 15 /* f */
        26: .line 1202
            dload 15 /* f */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 27
            dload 15 /* f */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 28
        27: .line 1203
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.FLOAT_OUT_OF_RANGE:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "out of Float range"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
        28: .line 1206
      StackMap locals:
      StackMap stack:
            dload 15 /* f */
            dreturn
        end local 15 // double f
        end local 13 // long e
        end local 11 // long de
        end local 9 // long ne
        end local 7 // long dl
        end local 5 // long nl
        end local 4 // boolean minus
        end local 3 // org.jruby.RubyInteger myDen
        end local 2 // org.jruby.RubyInteger myNum
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lorg/jruby/RubyRational;
            0   29     1  context  Lorg/jruby/runtime/ThreadContext;
            2   29     2    myNum  Lorg/jruby/RubyInteger;
            3   29     3    myDen  Lorg/jruby/RubyInteger;
            4   29     4    minus  Z
            8   29     5       nl  J
            9   29     7       dl  J
           10   29     9       ne  J
           14   29    11       de  J
           18   29    13        e  J
           24   29    15        f  D
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject to_r(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1214
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_r"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject rationalize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1225
            aload 2 /* args */
            arraylength
            ifne 1
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.to_r:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 1227
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 3
         2: .line 1228
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            invokestatic org.jruby.util.Numeric.f_abs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyRational
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyRational.rationalize:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1231
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.util.Numeric.f_abs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* eps */
        start local 5 // org.jruby.runtime.builtin.IRubyObject eps
         4: .line 1232
            aload 1 /* context */
            aload 0 /* this */
            aload 5 /* eps */
            invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* a */
        start local 3 // org.jruby.runtime.builtin.IRubyObject a
         5: .line 1233
            aload 1 /* context */
            aload 0 /* this */
            aload 5 /* eps */
            invokestatic org.jruby.util.Numeric.f_add:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* b */
        start local 4 // org.jruby.runtime.builtin.IRubyObject b
         6: .line 1235
            aload 1 /* context */
            aload 3 /* a */
            aload 4 /* b */
            invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 7
            aload 0 /* this */
            areturn
         7: .line 1237
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* context */
            aload 3 /* a */
            aload 4 /* b */
            invokestatic org.jruby.util.Numeric.nurat_rationalize_internal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* ans */
        start local 6 // org.jruby.runtime.builtin.IRubyObject[] ans
         8: .line 1239
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.metaClass:Lorg/jruby/RubyClass;
            aload 6 /* ans */
            iconst_0
            aaload
            checkcast org.jruby.RubyInteger
            aload 6 /* ans */
            iconst_1
            aaload
            checkcast org.jruby.RubyInteger
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject[] ans
        end local 5 // org.jruby.runtime.builtin.IRubyObject eps
        end local 4 // org.jruby.runtime.builtin.IRubyObject b
        end local 3 // org.jruby.runtime.builtin.IRubyObject a
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyRational;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            5    9     3        a  Lorg/jruby/runtime/builtin/IRubyObject;
            6    9     4        b  Lorg/jruby/runtime/builtin/IRubyObject;
            4    9     5      eps  Lorg/jruby/runtime/builtin/IRubyObject;
            8    9     6      ans  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rationalize"}, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject hash(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1247
            aload 1 /* context */
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            getstatic org.jruby.runtime.invokedynamic.MethodNames.HASH:Lorg/jruby/runtime/invokedynamic/MethodNames;
            invokestatic org.jruby.runtime.Helpers.invokedynamic:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/invokedynamic/MethodNames;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            getstatic org.jruby.runtime.invokedynamic.MethodNames.HASH:Lorg/jruby/runtime/invokedynamic/MethodNames;
            invokestatic org.jruby.runtime.Helpers.invokedynamic:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/invokedynamic/MethodNames;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            invokestatic org.jruby.util.Numeric.f_xor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"hash"})
    MethodParameters:
         Name  Flags
      context  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 1252
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.hashCode:()I
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.hashCode:()I
            ixor
            ireturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.runtime.builtin.IRubyObject to_s();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 1257
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyRational.to_s:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.RubyString to_s(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1265
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyRational.to_s:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_s"})
    MethodParameters:
         Name  Flags
      context  

  private org.jruby.RubyString to_s(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.Ruby runtime
         0: .line 1269
            aload 1 /* runtime */
            new org.jruby.util.ByteList
            dup
            bipush 10
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 1270
            aload 2 /* str */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.to_s:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         2: .line 1271
            aload 2 /* str */
            bipush 47
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         3: .line 1272
            aload 2 /* str */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.to_s:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         4: .line 1273
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyRational;
            0    5     1  runtime  Lorg/jruby/Ruby;
            1    5     2      str  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  final

  public org.jruby.runtime.builtin.IRubyObject inspect();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational this
         0: .line 1278
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyRational.inspectImpl:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational;

  public org.jruby.RubyString inspect(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1286
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyRational.inspectImpl:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"inspect"})
    MethodParameters:
         Name  Flags
      context  

  private org.jruby.RubyString inspectImpl(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.Ruby runtime
         0: .line 1290
            aload 1 /* runtime */
            new org.jruby.util.ByteList
            dup
            bipush 12
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 1291
            aload 2 /* str */
            bipush 40
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         2: .line 1292
            aload 2 /* str */
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         3: .line 1293
            aload 2 /* str */
            bipush 47
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         4: .line 1294
            aload 2 /* str */
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         5: .line 1295
            aload 2 /* str */
            bipush 41
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         6: .line 1296
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyRational;
            0    7     1  runtime  Lorg/jruby/Ruby;
            1    7     2      str  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  

  public org.jruby.runtime.builtin.IRubyObject marshal_dump(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1304
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 2 /* dump */
        start local 2 // org.jruby.RubyArray dump
         1: .line 1305
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.hasVariables:()Z
            ifeq 2
            aload 2 /* dump */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.syncVariables:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 1306
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 2 /* dump */
            areturn
        end local 2 // org.jruby.RubyArray dump
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyRational;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2     dump  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"marshal_dump"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject marshal_load(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1314
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            astore 3 /* load */
        start local 3 // org.jruby.RubyArray load
         1: .line 1315
            aload 3 /* load */
            invokevirtual org.jruby.RubyArray.size:()I
            ifle 2
            aload 3 /* load */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
         2: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: astore 4 /* num */
        start local 4 // org.jruby.runtime.builtin.IRubyObject num
         4: .line 1316
            aload 3 /* load */
            invokevirtual org.jruby.RubyArray.size:()I
            iconst_1
            if_icmple 5
            aload 3 /* load */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 6
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         5: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         6: astore 5 /* den */
        start local 5 // org.jruby.runtime.builtin.IRubyObject den
         7: .line 1319
            aload 5 /* den */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 10
            aload 1 /* context */
            aload 5 /* den */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 10
         8: .line 1320
            aload 1 /* context */
            aload 4 /* num */
            invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* num */
         9: .line 1321
            aload 1 /* context */
            aload 5 /* den */
            invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* den */
        10: .line 1324
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 4 /* num */
            checkcast org.jruby.RubyInteger
            putfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
        11: .line 1325
            aload 0 /* this */
            aload 5 /* den */
            checkcast org.jruby.RubyInteger
            putfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
        12: .line 1327
            aload 3 /* load */
            invokevirtual org.jruby.RubyArray.hasVariables:()Z
            ifeq 13
            aload 0 /* this */
            aload 3 /* load */
            invokevirtual org.jruby.RubyRational.syncVariables:(Lorg/jruby/runtime/builtin/IRubyObject;)V
        13: .line 1328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject den
        end local 4 // org.jruby.runtime.builtin.IRubyObject num
        end local 3 // org.jruby.RubyArray load
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyRational;
            0   14     1  context  Lorg/jruby/runtime/ThreadContext;
            0   14     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1   14     3     load  Lorg/jruby/RubyArray;
            4   14     4      num  Lorg/jruby/runtime/builtin/IRubyObject;
            7   14     5      den  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"marshal_load"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  static org.jruby.runtime.builtin.IRubyObject[] str_to_r_internal(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)[Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=22, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString str
         0: .line 1361
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1362
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* nil */
        start local 3 // org.jruby.runtime.builtin.IRubyObject nil
         2: .line 1364
            aload 1 /* str */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 4 /* bytes */
        start local 4 // org.jruby.util.ByteList bytes
         3: .line 1366
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 4
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 3 /* nil */
            aastore
            dup
            iconst_1
            aload 1 /* str */
            aastore
            areturn
         4: .line 1368
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList
      StackMap stack:
            aload 2 /* runtime */
            getstatic org.jruby.util.Numeric$RationalPatterns.rat_pat:Lorg/joni/Regex;
            invokestatic org.jruby.RubyRegexp.newDummyRegexp:(Lorg/jruby/Ruby;Lorg/joni/Regex;)Lorg/jruby/RubyRegexp;
            aload 0 /* context */
            aload 1 /* str */
            iconst_0
            invokevirtual org.jruby.RubyRegexp.match_m:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* m */
        start local 5 // org.jruby.runtime.builtin.IRubyObject m
         5: .line 1370
            aload 5 /* m */
            aload 3 /* nil */
            if_acmpeq 44
         6: .line 1371
            aload 5 /* m */
            checkcast org.jruby.RubyMatchData
            astore 6 /* match */
        start local 6 // org.jruby.RubyMatchData match
         7: .line 1372
            aload 6 /* match */
            iconst_1
            invokevirtual org.jruby.RubyMatchData.at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* si */
        start local 7 // org.jruby.runtime.builtin.IRubyObject si
         8: .line 1373
            aload 6 /* match */
            iconst_2
            invokevirtual org.jruby.RubyMatchData.at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 8 /* nu */
        start local 8 // org.jruby.RubyString nu
         9: .line 1374
            aload 6 /* match */
            iconst_3
            invokevirtual org.jruby.RubyMatchData.at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* de */
        start local 9 // org.jruby.runtime.builtin.IRubyObject de
        10: .line 1375
            aload 6 /* match */
            aload 0 /* context */
            invokevirtual org.jruby.RubyMatchData.post_match:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* re */
        start local 10 // org.jruby.runtime.builtin.IRubyObject re
        11: .line 1377
            aload 8 /* nu */
            aload 2 /* runtime */
            getstatic org.jruby.util.Numeric$RationalPatterns.an_e_pat:Lorg/joni/Regex;
            invokestatic org.jruby.RubyRegexp.newDummyRegexp:(Lorg/jruby/Ruby;Lorg/joni/Regex;)Lorg/jruby/RubyRegexp;
            aload 0 /* context */
            iconst_0
            invokevirtual org.jruby.RubyString.split:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyArray;
            astore 11 /* a */
        start local 11 // org.jruby.RubyArray a
        12: .line 1378
            aload 11 /* a */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 12 /* ifp */
        start local 12 // org.jruby.RubyString ifp
        13: .line 1379
            aload 11 /* a */
            invokevirtual org.jruby.RubyArray.size:()I
            iconst_2
            if_icmpeq 14
            aload 3 /* nil */
            goto 15
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject org.jruby.RubyMatchData org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyString
      StackMap stack:
        14: aload 11 /* a */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        15: astore 13 /* exp */
        start local 13 // org.jruby.runtime.builtin.IRubyObject exp
        16: .line 1381
            aload 12 /* ifp */
            aload 2 /* runtime */
            getstatic org.jruby.util.Numeric$RationalPatterns.a_dot_pat:Lorg/joni/Regex;
            invokestatic org.jruby.RubyRegexp.newDummyRegexp:(Lorg/jruby/Ruby;Lorg/joni/Regex;)Lorg/jruby/RubyRegexp;
            aload 0 /* context */
            iconst_0
            invokevirtual org.jruby.RubyString.split:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyArray;
            astore 11 /* a */
        17: .line 1382
            aload 11 /* a */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 14 /* ip */
        start local 14 // org.jruby.runtime.builtin.IRubyObject ip
        18: .line 1383
            aload 11 /* a */
            invokevirtual org.jruby.RubyArray.size:()I
            iconst_2
            if_icmpeq 19
            aload 3 /* nil */
            goto 20
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
        19: aload 11 /* a */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        20: astore 15 /* fp */
        start local 15 // org.jruby.runtime.builtin.IRubyObject fp
        21: .line 1385
            aload 0 /* context */
            aload 0 /* context */
            aload 14 /* ip */
            invokestatic org.jruby.util.Numeric.f_to_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            invokestatic org.jruby.RubyRational.newRationalCanonicalize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            astore 16 /* v */
        start local 16 // org.jruby.runtime.builtin.IRubyObject v
        22: .line 1387
            aload 15 /* fp */
            aload 3 /* nil */
            if_acmpeq 36
        23: .line 1388
            aload 15 /* fp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 4 /* bytes */
        24: .line 1389
            iconst_0
            istore 17 /* count */
        start local 17 // int count
        25: .line 1390
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 18 /* buf */
        start local 18 // byte[] buf
        26: .line 1391
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 19 /* i */
        start local 19 // int i
        27: .line 1392
            iload 19 /* i */
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 20 /* end */
        start local 20 // int end
        28: .line 1394
            goto 31
        29: .line 1395
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject org.jruby.RubyMatchData org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int byte[] int int
      StackMap stack:
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            aload 18 /* buf */
            iload 19 /* i */
            baload
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifeq 30
            iinc 17 /* count */ 1
        30: .line 1396
      StackMap locals:
      StackMap stack:
            iinc 19 /* i */ 1
        31: .line 1394
      StackMap locals:
      StackMap stack:
            iload 19 /* i */
            iload 20 /* end */
            if_icmplt 29
        32: .line 1399
            aload 2 /* runtime */
            ldc 10
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            aload 0 /* context */
            iload 17 /* count */
            i2l
            invokevirtual org.jruby.RubyFixnum.op_pow:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            astore 21 /* l */
        start local 21 // org.jruby.RubyInteger l
        33: .line 1400
            aload 0 /* context */
            aload 16 /* v */
            aload 21 /* l */
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 16 /* v */
        34: .line 1401
            aload 0 /* context */
            aload 16 /* v */
            aload 0 /* context */
            aload 15 /* fp */
            invokestatic org.jruby.util.Numeric.f_to_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_add:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 16 /* v */
        35: .line 1402
            aload 0 /* context */
            aload 16 /* v */
            aload 21 /* l */
            invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 16 /* v */
        end local 21 // org.jruby.RubyInteger l
        end local 20 // int end
        end local 19 // int i
        end local 18 // byte[] buf
        end local 17 // int count
        36: .line 1405
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject org.jruby.RubyMatchData org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* si */
            aload 3 /* nil */
            if_acmpeq 39
        37: .line 1406
            aload 7 /* si */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 17 /* siBytes */
        start local 17 // org.jruby.util.ByteList siBytes
        38: .line 1407
            aload 17 /* siBytes */
            invokevirtual org.jruby.util.ByteList.length:()I
            ifle 39
            aload 17 /* siBytes */
            iconst_0
            invokevirtual org.jruby.util.ByteList.get:(I)I
            bipush 45
            if_icmpne 39
            aload 0 /* context */
            aload 16 /* v */
            invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 16 /* v */
        end local 17 // org.jruby.util.ByteList siBytes
        39: .line 1410
      StackMap locals:
      StackMap stack:
            aload 13 /* exp */
            aload 3 /* nil */
            if_acmpeq 41
        40: .line 1411
            aload 0 /* context */
            aload 16 /* v */
            aload 0 /* context */
            aload 2 /* runtime */
            ldc 10
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            aload 0 /* context */
            aload 13 /* exp */
            invokestatic org.jruby.util.Numeric.f_to_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyInteger
            invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 16 /* v */
        41: .line 1414
      StackMap locals:
      StackMap stack:
            aload 9 /* de */
            aload 3 /* nil */
            if_acmpeq 43
        42: .line 1415
            aload 0 /* context */
            aload 16 /* v */
            aload 0 /* context */
            aload 9 /* de */
            invokestatic org.jruby.util.Numeric.f_to_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 16 /* v */
        43: .line 1417
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 16 /* v */
            aastore
            dup
            iconst_1
            aload 10 /* re */
            aastore
            areturn
        end local 16 // org.jruby.runtime.builtin.IRubyObject v
        end local 15 // org.jruby.runtime.builtin.IRubyObject fp
        end local 14 // org.jruby.runtime.builtin.IRubyObject ip
        end local 13 // org.jruby.runtime.builtin.IRubyObject exp
        end local 12 // org.jruby.RubyString ifp
        end local 11 // org.jruby.RubyArray a
        end local 10 // org.jruby.runtime.builtin.IRubyObject re
        end local 9 // org.jruby.runtime.builtin.IRubyObject de
        end local 8 // org.jruby.RubyString nu
        end local 7 // org.jruby.runtime.builtin.IRubyObject si
        end local 6 // org.jruby.RubyMatchData match
        44: .line 1419
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 3 /* nil */
            aastore
            dup
            iconst_1
            aload 1 /* str */
            aastore
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject m
        end local 4 // org.jruby.util.ByteList bytes
        end local 3 // org.jruby.runtime.builtin.IRubyObject nil
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.RubyString str
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   45     0  context  Lorg/jruby/runtime/ThreadContext;
            0   45     1      str  Lorg/jruby/RubyString;
            1   45     2  runtime  Lorg/jruby/Ruby;
            2   45     3      nil  Lorg/jruby/runtime/builtin/IRubyObject;
            3   45     4    bytes  Lorg/jruby/util/ByteList;
            5   45     5        m  Lorg/jruby/runtime/builtin/IRubyObject;
            7   44     6    match  Lorg/jruby/RubyMatchData;
            8   44     7       si  Lorg/jruby/runtime/builtin/IRubyObject;
            9   44     8       nu  Lorg/jruby/RubyString;
           10   44     9       de  Lorg/jruby/runtime/builtin/IRubyObject;
           11   44    10       re  Lorg/jruby/runtime/builtin/IRubyObject;
           12   44    11        a  Lorg/jruby/RubyArray;
           13   44    12      ifp  Lorg/jruby/RubyString;
           16   44    13      exp  Lorg/jruby/runtime/builtin/IRubyObject;
           18   44    14       ip  Lorg/jruby/runtime/builtin/IRubyObject;
           21   44    15       fp  Lorg/jruby/runtime/builtin/IRubyObject;
           22   44    16        v  Lorg/jruby/runtime/builtin/IRubyObject;
           25   36    17    count  I
           26   36    18      buf  [B
           27   36    19        i  I
           28   36    20      end  I
           33   36    21        l  Lorg/jruby/RubyInteger;
           38   39    17  siBytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      context  final
      str      final

  private static org.jruby.RubyNumeric str_to_r_strict(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyNumeric;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString str
         0: .line 1423
            aload 0 /* context */
            aload 1 /* str */
            invokestatic org.jruby.RubyRational.str_to_r_internal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* ary */
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] ary
         1: .line 1424
            aload 2 /* ary */
            iconst_0
            aaload
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 2
            aload 2 /* ary */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            ifle 3
         2: .line 1425
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "invalid value for convert(): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* str */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.inspect:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 1427
      StackMap locals:
      StackMap stack:
            aload 2 /* ary */
            iconst_0
            aaload
            checkcast org.jruby.RubyNumeric
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] ary
        end local 1 // org.jruby.RubyString str
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1      str  Lorg/jruby/RubyString;
            1    4     2      ary  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      str      

  public static org.jruby.runtime.builtin.IRubyObject numericQuo(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject x
        start local 2 // org.jruby.runtime.builtin.IRubyObject y
         0: .line 1434
            aload 2 /* y */
            instanceof org.jruby.RubyFloat
            ifeq 2
         1: .line 1435
            aload 1 /* x */
            checkcast org.jruby.RubyNumeric
            aload 0 /* context */
            aload 2 /* y */
            invokevirtual org.jruby.RubyNumeric.fdiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 1438
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyRational.canonicalization:Z
            ifeq 5
         3: .line 1439
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* x */
            invokestatic org.jruby.RubyRational.newRationalRaw:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
            astore 1 /* x */
         4: .line 1440
            goto 6
         5: .line 1441
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* x */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
            aload 0 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.to_r_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* x */
         6: .line 1443
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.op_quo:Lorg/jruby/runtime/CallSite;
            aload 0 /* context */
            aload 1 /* x */
            aload 1 /* x */
            aload 2 /* y */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject y
        end local 1 // org.jruby.runtime.builtin.IRubyObject x
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  context  Lorg/jruby/runtime/ThreadContext;
            0    7     1        x  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     2        y  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      x        
      y        

  public org.jruby.runtime.builtin.IRubyObject op_floor(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1448
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.floor:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject op_floor(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
         0: .line 1453
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* n */
            invokevirtual org.jruby.RubyRational.floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      n        

  public org.jruby.runtime.builtin.IRubyObject op_ceil(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1458
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.ceil:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject op_ceil(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
         0: .line 1463
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* n */
            invokevirtual org.jruby.RubyRational.ceil:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      n        

  public org.jruby.runtime.builtin.IRubyObject op_idiv19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1468
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_idiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1473
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_fdiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyRational this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1478
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyRational.fdiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyRational this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyRational;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  private static org.jruby.runtime.JavaSites$RationalSites sites(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 1482
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
            getfield org.jruby.runtime.JavaSites.Rational:Lorg/jruby/runtime/JavaSites$RationalSites;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  private static org.jruby.runtime.builtin.IRubyObject r_to_f(org.jruby.runtime.ThreadContext, org.jruby.RubyRational);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyRational r
         0: .line 1486
            aload 0 /* context */
            invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
            getfield org.jruby.runtime.JavaSites$RationalSites.to_f:Lorg/jruby/runtime/callsite/CachingCallSite;
            aload 0 /* context */
            aload 1 /* r */
            aload 1 /* r */
            invokevirtual org.jruby.runtime.callsite.CachingCallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.RubyRational r
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        r  Lorg/jruby/RubyRational;
    MethodParameters:
         Name  Flags
      context  
      r        

  static int[] $SWITCH_TABLE$java$math$RoundingMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 62
            getstatic org.jruby.RubyRational.$SWITCH_TABLE$java$math$RoundingMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic java.math.RoundingMode.values:()[Ljava/math/RoundingMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic java.math.RoundingMode.HALF_DOWN:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            bipush 7
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_5
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic java.math.RoundingMode.UP:Ljava/math/RoundingMode;
            invokevirtual java.math.RoundingMode.ordinal:()I
            iconst_1
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            dup
            putstatic org.jruby.RubyRational.$SWITCH_TABLE$java$math$RoundingMode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
}
SourceFile: "RubyRational.java"
NestMembers:
  org.jruby.RubyRational$1  org.jruby.RubyRational$2
InnerClasses:
  public final JavaClassKindOf = org.jruby.RubyModule$JavaClassKindOf of org.jruby.RubyModule
  org.jruby.RubyRational$1
  org.jruby.RubyRational$2
  public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
  public CheckedSites = org.jruby.runtime.JavaSites$CheckedSites of org.jruby.runtime.JavaSites
  public FloatSites = org.jruby.runtime.JavaSites$FloatSites of org.jruby.runtime.JavaSites
  public NumericSites = org.jruby.runtime.JavaSites$NumericSites of org.jruby.runtime.JavaSites
  public RationalSites = org.jruby.runtime.JavaSites$RationalSites of org.jruby.runtime.JavaSites
  public final RationalPatterns = org.jruby.util.Numeric$RationalPatterns of org.jruby.util.Numeric
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Rational"}, parent = "Numeric")