I couldn't get why you have chosen that specific nodes (combine xyz and substract) to combine with gradient node.
It's just another way to control texture coordinates without using a Vector Mapping node. You could easily replace the separate->math->math->combine nodes with a mapping node, but I believe the "separate axis" method to be more performant because you carry out operations only on the axes which you need, in this case X and Y.