def METHOD_NAME(self, doc, results):
    gold = self.letter_to_num[self.last_problem(doc)["answer"]]
    context_conditional_ll = results[:4]
    context_free_ll = results[4:]
    assert len(context_free_ll) == len(context_conditional_ll)
    ll_gain = [ccl - cfl for ccl, cfl in zip(context_conditional_ll, context_free_ll)]
    pred = np.argmax(ll_gain)
    return {
        "format": self.doc_to_text(doc),
        "gold_choice": self.last_problem(doc)["options"][gold],
        "model_choice": self.last_problem(doc)["options"][pred],
        "choices (ll, ull, ll_gain)": dict(
            zip(self.last_problem(doc)["options"], zip(results[:4], results[4:], ll_gain))
        ),
    }