More explanation
If the value at the input port is 0, then the bottom plane is active and the value 1 flows to the output port
If the input > 0, then 1 is subtracted from the input by the bottom branch of the upper dataflow diagram
This result is fed to the recursive call to factorial, multiplying the original input by the result
The product flows to the output port