HashLife evolve pseudo code IV

def evolve(node):
    
    if node.depth==2:
        return evolve node using GoL rules
    else:
        node1 = Create Auxiliary Node 1
        node2 = Create Auxiliary Node 2
        node3 = Create Auxiliary Node 3
        node4 = Create Auxiliary Node 4
        node5 = Create Auxiliary Node 5
        node6 = Create Auxiliary Node 6
        node7 = Create Auxiliary Node 7
        node8 = Create Auxiliary Node 8
        node9 = Create Auxiliary Node 9

        node1Res = evolve(node1)
        node2Res = evolve(node2)
        node3Res = evolve(node3)
        node4Res = evolve(node4)
        node5Res = evolve(node5)
        node6Res = evolve(node6)
        node7Res = evolve(node7)
        node8Res = evolve(node8)
        node9Res = evolve(node9)

        intermediateNode1 = assembleNode(node1Res, node2Res, node4Res, node5Res)
        intermediateNode1 = assembleNode(node2Res, node3Res, node5Res, node6Res)
        intermediateNode1 = assembleNode(node4Res, node5Res, node7Res, node8Res)
        intermediateNode1 = assembleNode(node5Res, node6Res, node8Res, node9Res)
        
        result = assembleNode( evolve(intermediateNode1), evolve(intermediateNode2), 
                               evolve(intermediateNode3), evolve(intermediateNode4) )
        
        return result