$ javac src/ResultDemo.java && java ResultDemo     (21.0.10+7-Ubuntu-124.04)
21 -> ok 42
abc -> error: not a number: abc

$ javac src/ResultDemo.java && java ResultDemo     (25.0.4.1+1-LTS)
21 -> ok 42
abc -> error: not a number: abc

$ javac src/ResultDemo.java && java ResultDemo     (27+35)
21 -> ok 42
abc -> error: not a number: abc

$ javac src/ExprDemo.java && java ExprDemo     (21.0.10+7-Ubuntu-124.04)
Add[left=Mul[left=Num[value=1], right=Num[value=7]], right=Neg[inner=Neg[inner=Num[value=3]]]]
eval     = 10
simplify = Add[left=Num[value=7], right=Num[value=3]]  (eval 10)

$ javac src/ExprDemo.java && java ExprDemo     (25.0.4.1+1-LTS)
Add[left=Mul[left=Num[value=1], right=Num[value=7]], right=Neg[inner=Neg[inner=Num[value=3]]]]
eval     = 10
simplify = Add[left=Num[value=7], right=Num[value=3]]  (eval 10)

$ javac src/ExprDemo.java && java ExprDemo     (27+35)
Add[left=Mul[left=Num[value=1], right=Num[value=7]], right=Neg[inner=Neg[inner=Num[value=3]]]]
eval     = 10
simplify = Add[left=Num[value=7], right=Num[value=3]]  (eval 10)
