The first line of step 10 for simple-backend.cpp should be
struct ggml_tensor * result = ggml_graph_node(gf, ggml_graph_n_nodes(gf) - 1);
instead of
struct ggml_tensor * result = gf->nodes[gf->n_nodes - 1];
due to the use of the gf as an opaque pointer.