| tryFoldGetProp(Node, Node, Node) |   | 32% |   | 30% | 6 | 8 | 14 | 20 | 0 | 1 |
| tryFoldInForcedStringContext(Node) |   | 30% |   | 30% | 4 | 6 | 15 | 21 | 0 | 1 |
| tryFoldCall(Node) |   | 25% |   | 16% | 3 | 4 | 6 | 9 | 0 | 1 |
| tryFoldObjectPropAccess(Node, Node, Node) |   | 81% |   | 74% | 6 | 15 | 5 | 31 | 0 | 1 |
| performArithmeticOp(Token, Node, Node) |   | 94% |   | 95% | 3 | 41 | 2 | 56 | 0 | 1 |
| tryFoldShift(Node, Node, Node) |   | 87% |   | 93% | 1 | 10 | 1 | 27 | 0 | 1 |
| tryReduceVoid(Node) |   | 50% |   | 33% | 3 | 4 | 2 | 5 | 0 | 1 |
| isNumeric(Node) |   | 58% |   | 37% | 3 | 5 | 0 | 2 | 0 | 1 |
| isStringTyped(Node) |   | 58% |   | 37% | 3 | 5 | 0 | 2 | 0 | 1 |
| tryFoldUnaryOperator(Node) |   | 96% |   | 80% | 6 | 18 | 3 | 51 | 0 | 1 |
| evaluateComparison(Token, Node, Node) |   | 91% |   | 92% | 1 | 11 | 1 | 12 | 0 | 1 |
| tryFoldArrayAccess(Node, Node, Node) |   | 95% |   | 94% | 1 | 10 | 1 | 29 | 0 | 1 |
| tryFoldTypeof(Node) |   | 95% |   | 87% | 2 | 12 | 1 | 27 | 0 | 1 |
| tryFoldLeftChildOp(Node, Node, Node) |  | 97% |   | 83% | 3 | 10 | 0 | 20 | 0 | 1 |
| tryUnfoldAssignOp(Node, Node, Node) |  | 95% |   | 75% | 2 | 5 | 1 | 13 | 0 | 1 |
| tryFoldInstanceof(Node, Node, Node) |  | 95% |   | 91% | 1 | 7 | 1 | 15 | 0 | 1 |
| tryConvertToNumber(Node) |  | 98% |   | 81% | 2 | 8 | 1 | 19 | 0 | 1 |
| tryStrictEqualityComparison(Node, Node) |  | 100% |  | 100% | 0 | 25 | 0 | 32 | 0 | 1 |
| tryAbstractRelationalComparison(Node, Node, boolean) |  | 100% |  | 100% | 0 | 24 | 0 | 24 | 0 | 1 |
| tryFoldAssign(Node, Node, Node) |  | 100% |  | 100% | 0 | 19 | 0 | 43 | 0 | 1 |
| tryFoldChildAddString(Node, Node, Node) |  | 100% |   | 80% | 4 | 11 | 0 | 29 | 0 | 1 |
| tryFoldAndOr(Node, Node, Node) |  | 100% |  | 100% | 0 | 16 | 0 | 30 | 0 | 1 |
| tryAbstractEqualityComparison(Node, Node) |  | 100% |  | 100% | 0 | 22 | 0 | 21 | 0 | 1 |
| tryFoldBinaryOperator(Node) |  | 100% |  | 100% | 0 | 15 | 0 | 22 | 0 | 1 |
| tryFoldStringArrayAccess(Node, Node, Node) |  | 100% |   | 93% | 1 | 9 | 0 | 26 | 0 | 1 |
| tryFoldAdd(Node, Node, Node) |  | 100% |  | 100% | 0 | 11 | 0 | 15 | 0 | 1 |
| tryFoldAddConstantString(Node, Node, Node) |  | 100% |   | 91% | 1 | 7 | 0 | 10 | 0 | 1 |
| optimizeSubtree(Node) |  | 100% |  | 100% | 0 | 6 | 0 | 9 | 0 | 1 |
| tryReduceOperandsForOp(Node) |  | 100% |  | 100% | 0 | 6 | 0 | 11 | 0 | 1 |
| maybeReplaceBinaryOpWithNumericResult(double, double, double) |  | 100% |   | 80% | 2 | 6 | 0 | 6 | 0 | 1 |
| tryFoldGetElem(Node, Node, Node) |  | 100% |  | 100% | 0 | 4 | 0 | 8 | 0 | 1 |
| tryFoldComparison(Node, Node, Node) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| tryFoldArithmeticOp(Node, Node, Node) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| tryConvertOperandsToNumber(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| inForcedStringContext(Node) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| tryFoldCtorCall(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| PeepholeFoldConstants(boolean, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| replace(Node, Node) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| jsConvertDoubleToBits(double) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |