Reconciling pseudocode and formal guarantees - part 1