Yes. The expression can be evaluated by the above approach

The expression can be evaluated using at least 3 registers:

expression | AST | pseudo code |
---|---|---|

(a - b) - (c - d) |
- / \ - - / \ / \ a b c d |
load a into R0 load b into R1 R0 = R0 - R1 load c into R1 load d into R2 R1 = R1 - R2 R0 = R0 - R1 |

The expression can be evaluated using at least 4 registers:

expression | AST | pseudo code |
---|---|---|

((a - b) - (c - d)) - ((e - f) - (g - h)) |
- / \ / \ / \ - - / \ / \ - - - - / \ / \ / \ / \ a b c d e f g h |
load a into R0 load b into R1 R0 = R0 - R1 load c into R1 load d into R2 R1 = R1 - R2 R0 = R0 - R1 load e into R1 load f into R2 R1 = R1 - R2 load g into R2 load h into R3 R2 = R2 - R3 R1 = R1 - R2 R0 = R0 - R1 |