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 81
            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 177
            iconst_0
            putstatic org.jruby.RubyRational.canonicalization:Z
         5: .line 1158
            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 1330
            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 1357
            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 67
            aload 1 /* rationalc */
            getstatic org.jruby.runtime.ClassIndex.RATIONAL:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         2: .line 68
            aload 1 /* rationalc */
            ldc Lorg/jruby/RubyRational;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         3: .line 70
            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;
         4: .line 72
            aload 1 /* rationalc */
            getstatic org.jruby.RubyRational.RATIONAL_MARSHAL:Lorg/jruby/runtime/ObjectMarshal;
            invokevirtual org.jruby.RubyClass.setMarshal:(Lorg/jruby/runtime/ObjectMarshal;)V
         5: .line 73
            aload 1 /* rationalc */
            ldc Lorg/jruby/RubyRational;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         6: .line 75
            aload 1 /* rationalc */
            invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
            ldc "allocate"
            invokevirtual org.jruby.RubyClass.undefineMethod:(Ljava/lang/String;)V
         7: .line 76
            aload 1 /* rationalc */
            invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
            ldc "new"
            invokevirtual org.jruby.RubyClass.undefineMethod:(Ljava/lang/String;)V
         8: .line 78
            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    9     0    runtime  Lorg/jruby/Ruby;
            1    9     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 90
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* clazz */
            invokespecial org.jruby.RubyNumeric.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 91
            aload 0 /* this */
            aload 3 /* num */
            putfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
         2: .line 92
            aload 0 /* this */
            aload 4 /* den */
            putfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
         3: .line 93
            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 99
            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 106
            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 113
            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 120
            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 124
            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 128
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 129
            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 132
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 133
            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 137
            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 144
            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 151
            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 152
      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 159
            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 163
            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 168
            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 179
            iload 0 /* canonical */
            putstatic org.jruby.RubyRational.canonicalization:Z
         1: .line 180
            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 186
            aload 1 /* num */
            instanceof org.jruby.RubyInteger
            ifeq 1
            aload 1 /* num */
            checkcast org.jruby.RubyInteger
            areturn
         1: .line 187
      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 188
      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 190
      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 194
            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 202
            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 203
            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 205
      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 212
            aload 0 /* context */
            aload 3 /* den */
            invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 3
         1: .line 213
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 2 /* num */
         2: .line 214
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 3 /* den */
         3: .line 217
      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 218
            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 219
            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 221
            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 223
      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 227
            lload 4 /* den */
            lconst_0
            lcmp
            ifne 2
         1: .line 228
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 229
      StackMap locals:
      StackMap stack:
            lload 2 /* num */
            ldc -9223372036854775808
            lcmp
            ifne 4
            lload 4 /* den */
            ldc -9223372036854775808
            lcmp
            ifne 4
         3: .line 230
            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 231
      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 232
            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 233
            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 235
            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 237
      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 246
            aload 0 /* context */
            aload 3 /* den */
            invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 3
         1: .line 247
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 2 /* num */
         2: .line 248
            aload 3 /* den */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 3 /* den */
         3: .line 251
      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 253
      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 258
            aload 1 /* den */
            invokevirtual org.jruby.RubyInteger.signum:()I
            istore 2 /* signum */
        start local 2 // int signum
         1: .line 259
            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 260
      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 268
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 269
      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 270
      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 271
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
         4: .line 272
            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 273
            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 278
            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 282
            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 287
            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 291
            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 295
            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 299
            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 303
            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 310
            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 317
            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 321
            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 322
            aload 5 /* rat */
            iconst_1
            invokevirtual org.jruby.RubyRational.setFrozen:(Z)V
         2: .line 323
            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 327
            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 328
            aload 4 /* rat */
            iconst_1
            invokevirtual org.jruby.RubyRational.setFrozen:(Z)V
         2: .line 329
            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 334
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 335
      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 336
      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 337
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
         4: .line 338
            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 339
            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 347
            aload 2 /* a1 */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 2
         1: .line 348
            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 351
      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 359
            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 360
      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 362
      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 366
            aload 2 /* a1 */
            instanceof org.jruby.RubyComplex
            ifeq 3
         1: .line 367
            aload 2 /* a1 */
            checkcast org.jruby.RubyComplex
            astore 4 /* a1c */
        start local 4 // org.jruby.RubyComplex a1c
         2: .line 368
            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 370
      StackMap locals:
      StackMap stack:
            aload 3 /* a2 */
            instanceof org.jruby.RubyComplex
            ifeq 6
         4: .line 371
            aload 3 /* a2 */
            checkcast org.jruby.RubyComplex
            astore 4 /* a2c */
        start local 4 // org.jruby.RubyComplex a2c
         5: .line 372
            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 377
      StackMap locals:
      StackMap stack:
            aload 2 /* a1 */
            instanceof org.jruby.RubyInteger
            ifeq 9
         7: .line 378
            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 379
            goto 17
      StackMap locals:
      StackMap stack:
         9: aload 2 /* a1 */
            instanceof org.jruby.RubyFloat
            ifeq 12
        10: .line 380
            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 381
            goto 17
      StackMap locals:
      StackMap stack:
        12: aload 2 /* a1 */
            instanceof org.jruby.RubyString
            ifeq 15
        13: .line 382
            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 383
            goto 17
        15: .line 384
      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 385
            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 389
      StackMap locals:
      StackMap stack:
            aload 3 /* a2 */
            instanceof org.jruby.RubyFloat
            ifeq 20
        18: .line 390
            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 391
            goto 22
      StackMap locals:
      StackMap stack:
        20: aload 3 /* a2 */
            instanceof org.jruby.RubyString
            ifeq 22
        21: .line 392
            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 395
      StackMap locals:
      StackMap stack:
            aload 2 /* a1 */
            instanceof org.jruby.RubyRational
            ifeq 25
        23: .line 396
            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 399
      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 400
            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 401
      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 403
      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 405
      StackMap locals:
      StackMap stack:
            aload 2 /* a1 */
            instanceof org.jruby.RubyNumeric
            ifeq 32
            aload 3 /* a2 */
            instanceof org.jruby.RubyNumeric
            ifeq 32
        30: .line 406
            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 407
      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 409
      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 419
            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 428
            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 432
            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 436
            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 439
            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 443
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.isZero:()Z
            invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;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 448
            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 453
            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 458
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.signum:()I
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.jruby.runtime.ThreadContext
         1: iconst_0
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.runtime.ThreadContext int
         2: invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;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 463
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRational.signum:()I
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.jruby.runtime.ThreadContext
         1: iconst_0
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.runtime.ThreadContext int
         2: invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;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 468
            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 473
            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 476
            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 482
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 483
            lload 1 /* a */
            lconst_0
            lcmp
            ifeq 2
            lload 3 /* b */
            lconst_0
            lcmp
            ifne 3
         2: .line 484
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 5 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
         3: .line 486
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            lconst_1
            lcmp
            ifne 5
         4: .line 487
            aload 5 /* runtime */
            lload 3 /* b */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
         5: .line 489
      StackMap locals:
      StackMap stack:
            lload 3 /* b */
            lconst_1
            lcmp
            ifne 7
         6: .line 490
            aload 5 /* runtime */
            lload 1 /* a */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
         7: .line 493
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            lload 3 /* b */
            lmul
            lstore 6 /* c */
        start local 6 // long c
         8: .line 494
            lload 6 /* c */
            lload 1 /* a */
            ldiv
            lload 3 /* b */
            lcmp
            ifeq 10
         9: .line 495
            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 497
      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 507
            aload 2 /* anum */
            instanceof org.jruby.RubyFixnum
            ifeq 11
            aload 3 /* aden */
            instanceof org.jruby.RubyFixnum
            ifeq 11
         1: .line 508
            aload 4 /* bnum */
            instanceof org.jruby.RubyFixnum
            ifeq 11
            aload 5 /* bden */
            instanceof org.jruby.RubyFixnum
            ifeq 11
         2: .line 509
            aload 2 /* anum */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 12 /* an */
        start local 12 // long an
         3: .line 510
            aload 3 /* aden */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 14 /* ad */
        start local 14 // long ad
         4: .line 511
            aload 4 /* bnum */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 16 /* bn */
        start local 16 // long bn
         5: .line 512
            aload 5 /* bden */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 18 /* bd */
        start local 18 // long bd
         6: .line 513
            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 515
            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 516
            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 517
            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 518
            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 519
      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 520
            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 521
            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 524
      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 526
            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 527
            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 528
            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 529
            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 530
            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 532
            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 539
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 2
         1: .line 540
            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 542
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 4
         3: .line 543
            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 545
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 6
         5: .line 546
            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 548
      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 552
            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 556
            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 561
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 2
         1: .line 562
            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 564
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 4
         3: .line 565
            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 567
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 6
         5: .line 568
            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 570
      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 574
            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 578
            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 582
            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 591
            iload 6 /* mult */
            ifne 6
         1: .line 592
            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 593
            aload 2 /* anum */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 2 /* anum */
         3: .line 594
            aload 4 /* bnum */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 4 /* bnum */
         4: .line 596
      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 600
      StackMap locals:
      StackMap stack:
            aload 2 /* anum */
            instanceof org.jruby.RubyFixnum
            ifeq 17
            aload 3 /* aden */
            instanceof org.jruby.RubyFixnum
            ifeq 17
         7: .line 601
            aload 4 /* bnum */
            instanceof org.jruby.RubyFixnum
            ifeq 17
            aload 5 /* bden */
            instanceof org.jruby.RubyFixnum
            ifeq 17
         8: .line 602
            aload 2 /* anum */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 9 /* an */
        start local 9 // long an
         9: .line 603
            aload 3 /* aden */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 11 /* ad */
        start local 11 // long ad
        10: .line 604
            aload 4 /* bnum */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 13 /* bn */
        start local 13 // long bn
        11: .line 605
            aload 5 /* bden */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 15 /* bd */
        start local 15 // long bd
        12: .line 606
            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 607
            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 609
            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 610
            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 611
            goto 21
        end local 8 // org.jruby.RubyInteger newDen
        end local 7 // org.jruby.RubyInteger newNum
        17: .line 612
      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 613
            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 615
            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 616
            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 619
      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 627
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 2
         1: .line 628
            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 630
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 4
         3: .line 631
            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 633
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 7
         5: .line 634
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            astore 3 /* otherRational */
        start local 3 // org.jruby.RubyRational otherRational
         6: .line 635
            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 637
      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 641
            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 649
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 2
         1: .line 650
            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 652
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 5
         3: .line 653
            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 654
            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 656
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 10
         6: .line 657
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            invokevirtual org.jruby.RubyRational.isZero:()Z
            ifeq 8
         7: .line 658
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 660
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            astore 3 /* otherRational */
        start local 3 // org.jruby.RubyRational otherRational
         9: .line 661
            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 663
      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 667
            aload 2 /* other */
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            ifeq 2
         1: .line 668
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 670
      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 679
            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 687
            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 688
            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 691
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 5
         3: .line 692
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            astore 3 /* otherRational */
        start local 3 // org.jruby.RubyRational otherRational
         4: .line 693
            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 697
      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 698
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isOne:()Z
            ifeq 16
         7: .line 699
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isOne:()Z
            ifeq 9
         8: .line 700
            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 702
      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 703
            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 705
      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 706
            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 707
      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 713
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyInteger
            ifeq 18
        17: .line 714
            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 716
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifne 19
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 20
        19: .line 717
      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 719
      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 723
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 725
            lload 2 /* other */
            lconst_0
            lcmp
            ifne 3
         2: .line 726
            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 730
      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 731
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isOne:()Z
            ifeq 6
         5: .line 732
            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 734
      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 735
            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 737
      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 738
            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 739
      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 744
      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 749
            iload 3 /* sign */
            ifle 4
         1: .line 750
            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 751
            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 752
            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 753
            aload 2 /* other */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 6 /* otherNeg */
        start local 6 // org.jruby.RubyInteger otherNeg
         6: .line 754
            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 755
            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 756
            goto 11
        end local 5 // org.jruby.RubyInteger tden
        end local 4 // org.jruby.RubyInteger tnum
         9: .line 757
      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 759
      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 768
            aload 2 /* other */
            instanceof org.jruby.RubyFixnum
            ifne 1
            aload 2 /* other */
            instanceof org.jruby.RubyBignum
            ifeq 3
         1: .line 769
      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 770
      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 772
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 5
         4: .line 773
            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 775
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 15
         6: .line 776
            aload 2 /* other */
            checkcast org.jruby.RubyRational
            astore 3 /* otherRational */
        start local 3 // org.jruby.RubyRational otherRational
         7: .line 778
            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 779
            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 780
            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 781
            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 782
            goto 14
        end local 5 // org.jruby.RubyInteger num2
        end local 4 // org.jruby.RubyInteger num1
        12: .line 783
      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 784
            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 786
      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 788
      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 797
            aload 2 /* other */
            instanceof org.jruby.RubyFixnum
            ifne 1
            aload 2 /* other */
            instanceof org.jruby.RubyBignum
            ifeq 2
         1: .line 798
      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 800
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 4
         3: .line 801
            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 803
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 6
         5: .line 804
            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 806
      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 810
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            ifeq 1
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
            areturn
         1: .line 811
      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 812
      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 816
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            ifeq 1
            aload 1 /* context */
            aload 2 /* other */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isZero:()Z
            invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
            areturn
         1: .line 817
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
         2: .line 818
            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.runtime.ThreadContext
         3: iconst_0
         4: .line 817
      StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.RubyRational
      StackMap stack: org.jruby.runtime.ThreadContext int
            invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;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 823
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         1: .line 824
      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 832
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 833
            aload 2 /* other */
            instanceof org.jruby.RubyFixnum
            ifne 2
            aload 2 /* other */
            instanceof org.jruby.RubyBignum
            ifeq 3
         2: .line 834
      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 835
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 5
         4: .line 836
            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 837
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyRational
            ifeq 7
         6: .line 838
            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 839
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyComplex
            ifeq 12
         8: .line 840
            aload 2 /* other */
            checkcast org.jruby.RubyComplex
            astore 4 /* otherComplex */
        start local 4 // org.jruby.RubyComplex otherComplex
         9: .line 841
            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 842
            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 844
      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 847
      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 852
            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 854
      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 858
            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 860
      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 865
            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 873
            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 875
      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 876
            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 881
            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 889
            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 890
            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 898
            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 899
      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 907
            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 912
            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 917
            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 926
            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 931
            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 936
            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 941
            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 946
            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 951
            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 956
            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 964
            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 969
            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 973
            aload 0 /* this */
            getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.isNegative:()Z
            ifeq 2
         1: .line 974
            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 976
      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 981
            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 987
            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 988
            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 990
      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 992
            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 997
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 999
            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 1000
            aload 3 /* opts */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
         3: .line 1001
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* n */
         4: .line 1004
      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 1006
            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 1011
            aload 2 /* n */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 2
         1: .line 1012
            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 1015
      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 1017
            aload 2 /* n */
            instanceof org.jruby.RubyInteger
            ifne 5
         4: .line 1018
            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 1021
      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 1023
            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 1025
            iload 5 /* nsign */
            iflt 10
         8: .line 1026
            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 1027
            goto 11
        end local 7 // org.jruby.runtime.builtin.IRubyObject s
        10: .line 1029
      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 1032
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* s */
            instanceof org.jruby.RubyFloat
            ifeq 14
        12: .line 1033
            iload 5 /* nsign */
            ifge 13
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        13: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        14: .line 1037
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            instanceof org.jruby.RubyRational
            ifne 16
        15: .line 1038
            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 1041
      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 1043
            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 1044
            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 1046
            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 1047
            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 1050
      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 1054
            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 1056
      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 1058
      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 1060
      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 1062
      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 1064
      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 1066
      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 1068
      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 1075
            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 1077
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.isNegative:()Z
            istore 4 /* neg */
        start local 4 // boolean neg
         3: .line 1079
            iload 4 /* neg */
            ifeq 5
         4: .line 1080
            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 1083
      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 1084
            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 1085
            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 1086
            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 1088
            iload 4 /* neg */
            ifeq 11
        10: .line 1089
            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 1092
      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 1098
            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 1101
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.isNegative:()Z
            istore 5 /* neg */
        start local 5 // boolean neg
         3: .line 1103
            iload 5 /* neg */
            ifeq 5
         4: .line 1104
            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 1107
      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 1108
            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 1109
            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 1110
            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 1111
            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 1112
            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 1115
      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 1116
            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 1119
      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 1125
            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 1127
            aload 2 /* num */
            invokevirtual org.jruby.RubyInteger.isNegative:()Z
            istore 4 /* neg */
        start local 4 // boolean neg
         3: .line 1129
            iload 4 /* neg */
            ifeq 5
         4: .line 1130
            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 1133
      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 1134
            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 1135
            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 1137
            iload 4 /* neg */
            ifeq 10
         9: .line 1138
            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 1141
      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 1150
            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 1155
            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 1162
            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 1164
      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 1165
            aload 0 /* this */
            getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
            astore 3 /* myDen */
        start local 3 // org.jruby.RubyInteger myDen
         3: .line 1167
            iconst_0
            istore 4 /* minus */
        start local 4 // boolean minus
         4: .line 1168
            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 1169
            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 1170
            iconst_1
            istore 4 /* minus */
         7: .line 1173
      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 1174
            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 1176
            lconst_0
            lstore 9 /* ne */
        start local 9 // long ne
        10: .line 1177
            lload 5 /* nl */
            getstatic org.jruby.RubyRational.ML:J
            lcmp
            ifle 13
        11: .line 1178
            lload 5 /* nl */
            getstatic org.jruby.RubyRational.ML:J
            lsub
            lstore 9 /* ne */
        12: .line 1179
            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 1182
      StackMap locals: long long long
      StackMap stack:
            lconst_0
            lstore 11 /* de */
        start local 11 // long de
        14: .line 1183
            lload 7 /* dl */
            getstatic org.jruby.RubyRational.ML:J
            lcmp
            ifle 17
        15: .line 1184
            lload 7 /* dl */
            getstatic org.jruby.RubyRational.ML:J
            lsub
            lstore 11 /* de */
        16: .line 1185
            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 1188
      StackMap locals: long
      StackMap stack:
            lload 9 /* ne */
            lload 11 /* de */
            lsub
            lstore 13 /* e */
        start local 13 // long e
        18: .line 1190
            lload 13 /* e */
            ldc 1023
            lcmp
            ifgt 19
            lload 13 /* e */
            ldc -1022
            lcmp
            ifge 23
        19: .line 1191
      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 1192
            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 1195
      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 1197
            iload 4 /* minus */
            ifeq 25
            dload 15 /* f */
            dneg
            dstore 15 /* f */
        25: .line 1199
      StackMap locals: double
      StackMap stack:
            dload 15 /* f */
            lload 13 /* e */
            invokestatic org.jruby.util.Numeric.ldexp:(DJ)D
            dstore 15 /* f */
        26: .line 1201
            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 1202
      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 1205
      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 1213
            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 1224
            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 1226
      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 1227
            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 1230
      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 1231
            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 1232
            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 1234
            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 1236
      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 1238
            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 1246
            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 1251
            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 1256
            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 1264
            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 1268
            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 1269
            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 1270
            aload 2 /* str */
            bipush 47
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         3: .line 1271
            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 1272
            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 1277
            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 1285
            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 1289
            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 1290
            aload 2 /* str */
            bipush 40
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         2: .line 1291
            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 1292
            aload 2 /* str */
            bipush 47
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         4: .line 1293
            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 1294
            aload 2 /* str */
            bipush 41
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         6: .line 1295
            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 1303
            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 1304
            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 1305
      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 1313
            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 1314
            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 1315
            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 1318
            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 1319
            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 1320
            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 1323
      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 1324
            aload 0 /* this */
            aload 5 /* den */
            checkcast org.jruby.RubyInteger
            putfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
        12: .line 1326
            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 1327
      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 1360
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1361
            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 1363
            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 1365
            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 1367
      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 1369
            aload 5 /* m */
            aload 3 /* nil */
            if_acmpeq 44
         6: .line 1370
            aload 5 /* m */
            checkcast org.jruby.RubyMatchData
            astore 6 /* match */
        start local 6 // org.jruby.RubyMatchData match
         7: .line 1371
            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 1372
            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 1373
            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 1374
            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 1376
            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 1377
            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 1378
            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 1380
            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 1381
            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 1382
            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 1384
            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 1386
            aload 15 /* fp */
            aload 3 /* nil */
            if_acmpeq 36
        23: .line 1387
            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 1388
            iconst_0
            istore 17 /* count */
        start local 17 // int count
        25: .line 1389
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 18 /* buf */
        start local 18 // byte[] buf
        26: .line 1390
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 19 /* i */
        start local 19 // int i
        27: .line 1391
            iload 19 /* i */
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 20 /* end */
        start local 20 // int end
        28: .line 1393
            goto 31
        29: .line 1394
      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 1395
      StackMap locals:
      StackMap stack:
            iinc 19 /* i */ 1
        31: .line 1393
      StackMap locals:
      StackMap stack:
            iload 19 /* i */
            iload 20 /* end */
            if_icmplt 29
        32: .line 1398
            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 1399
            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 1400
            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 1401
            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 1404
      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 1405
            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 1406
            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 1409
      StackMap locals:
      StackMap stack:
            aload 13 /* exp */
            aload 3 /* nil */
            if_acmpeq 41
        40: .line 1410
            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 1413
      StackMap locals:
      StackMap stack:
            aload 9 /* de */
            aload 3 /* nil */
            if_acmpeq 43
        42: .line 1414
            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 1416
      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 1418
      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 1422
            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 1423
            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 1424
      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 1426
      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 1433
            aload 2 /* y */
            instanceof org.jruby.RubyFloat
            ifeq 2
         1: .line 1434
            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 1437
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyRational.canonicalization:Z
            ifeq 5
         3: .line 1438
            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 1439
            goto 6
         5: .line 1440
      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 1442
      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 1447
            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 1452
            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 1457
            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 1462
            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 1467
            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 1472
            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 1477
            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 1481
            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 1485
            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")