| convertCommon(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |   | 63% |   | 52% | 16 | 23 | 7 | 25 | 0 | 1 |
| intCheck(ThreadContext, IRubyObject) |   | 11% |   | 12% | 4 | 5 | 5 | 6 | 0 | 1 |
| newInstance(ThreadContext, IRubyObject, IRubyObject[]) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| convert(ThreadContext, IRubyObject, IRubyObject[]) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| op_coerce(ThreadContext, IRubyObject) |   | 55% |   | 50% | 3 | 5 | 3 | 8 | 0 | 1 |
| op_roundCommonPost(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getDoubleValue(ThreadContext) |   | 85% |   | 70% | 5 | 11 | 3 | 28 | 0 | 1 |
| canonicalizeInternalNoReduce(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |   | 61% |   | 38% | 4 | 5 | 4 | 10 | 0 | 1 |
| op_floor(ThreadContext, IRubyObject) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| op_ceil(ThreadContext, IRubyObject) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| op_truncate(ThreadContext, IRubyObject) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| op_round(ThreadContext, IRubyObject) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| canonicalizeInternal(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |   | 75% |   | 50% | 3 | 5 | 3 | 13 | 0 | 1 |
| op_cmp(ThreadContext, IRubyObject) |   | 88% |   | 70% | 6 | 11 | 2 | 14 | 0 | 1 |
| newInstance(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| marshal_load(ThreadContext, IRubyObject) |   | 71% |   | 50% | 4 | 5 | 1 | 7 | 0 | 1 |
| newRational(Ruby, long, long) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| op_roundCommonPre(ThreadContext, IRubyObject) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| newRationalBang(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |   | 48% |   | 17% | 3 | 4 | 0 | 2 | 0 | 1 |
| newInstance(ThreadContext, IRubyObject, IRubyObject) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| newRational(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |   | 44% |   | 17% | 3 | 4 | 0 | 2 | 0 | 1 |
| newRationalNoReduce(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |   | 44% |   | 17% | 3 | 4 | 0 | 2 | 0 | 1 |
| numericQuo(ThreadContext, IRubyObject, IRubyObject) |   | 80% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| op_expt(ThreadContext, IRubyObject) |   | 96% |   | 90% | 2 | 11 | 1 | 19 | 0 | 1 |
| convert(ThreadContext, IRubyObject, IRubyObject, IRubyObject) |   | 71% |   | 50% | 2 | 3 | 1 | 3 | 0 | 1 |
| convert(ThreadContext, IRubyObject, IRubyObject) |   | 69% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| intValue(ThreadContext, IRubyObject) |   | 62% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| op_idiv(ThreadContext, IRubyObject) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| op_mod(ThreadContext, IRubyObject) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| op_divmod(ThreadContext, IRubyObject) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| op_divmod19(ThreadContext, IRubyObject) |   | 86% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| op_mod19(ThreadContext, IRubyObject) |   | 82% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| op_idiv19(ThreadContext, IRubyObject) |   | 75% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| marshal_dump(ThreadContext) |   | 81% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| rationalize(ThreadContext, IRubyObject[]) |   | 97% |   | 83% | 1 | 4 | 0 | 13 | 0 | 1 |
| static {...} |  | 96% |   | 50% | 1 | 2 | 0 | 5 | 0 | 1 |
| str_to_r_internal(ThreadContext, IRubyObject) |  | 100% |   | 96% | 1 | 13 | 0 | 40 | 0 | 1 |
| f_addsub(ThreadContext, IRubyObject, IRubyObject, IRubyObject, IRubyObject, boolean) |  | 100% |   | 90% | 1 | 6 | 0 | 21 | 0 | 1 |
| f_muldiv(ThreadContext, IRubyObject, IRubyObject, IRubyObject, IRubyObject, boolean) |  | 100% |   | 92% | 1 | 7 | 0 | 22 | 0 | 1 |
| op_equal(ThreadContext, IRubyObject) |  | 100% |   | 88% | 3 | 13 | 0 | 13 | 0 | 1 |
| op_div(ThreadContext, IRubyObject) |  | 100% |  | 100% | 0 | 7 | 0 | 12 | 0 | 1 |
| op_add(ThreadContext, IRubyObject) |  | 100% |   | 88% | 1 | 5 | 0 | 8 | 0 | 1 |
| op_sub(ThreadContext, IRubyObject) |  | 100% |   | 88% | 1 | 5 | 0 | 8 | 0 | 1 |
| op_mul(ThreadContext, IRubyObject) |  | 100% |  | 100% | 0 | 5 | 0 | 8 | 0 | 1 |
| f_imul(ThreadContext, long, long) |  | 100% |  | 100% | 0 | 6 | 0 | 11 | 0 | 1 |
| op_round(ThreadContext) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| createRationalClass(Ruby) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| str_to_r_strict(ThreadContext, IRubyObject) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| inspect(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| to_s(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| op_truncate(ThreadContext) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| op_rem(ThreadContext, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| hash(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| RubyRational(Ruby, IRubyObject, IRubyObject, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| op_ceil(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| newRationalRaw(Ruby, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| op_abs(ThreadContext) |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| newRationalRaw(Ruby, IRubyObject, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| newRationalCanonicalize(ThreadContext, IRubyObject, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| newRationalBang(ThreadContext, IRubyObject, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| newRationalConvert(ThreadContext, IRubyObject, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| newRationalCanonicalize(ThreadContext, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| newRationalConvert(ThreadContext, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| op_fdiv(ThreadContext, IRubyObject) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| op_floor(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| to_f(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDoubleValue() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| to_i(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setCanonicalization(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| numerator(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| denominator(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| to_r(ThreadContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |