| 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 |