With an associative operation I can rewrite a computation tree
+
/ \
+ 4
/ \
+ 3
/ \
+ 2
/ \
0 1
to be more efficient in parallel.
+
/ \
+ +
/ \ / \
1 2 3 4
Are there situations where assuming commutativity offers computation benefits?