I'll admit that this is baffling.
The inner parentheses force evaluation of the two inner comma operators in the scalar context provided by the function prototype. `1` and `3` get evaluated in void context and discarded, leaving `2` and `4` as the two arguments to the function. (I had to look up `+` in prototypes, however.)
Without a working understanding of lists and context, this example is undoubtedly baffling, but that's why the documentation exists.