The Functional Machine Calculus (FMC) is a new model of higher-order computation with effects, in the vein of Moggi's computational metalanguage and Levy's call-by-push-value. The key innovation is to eschew the introduction of primitive operations for effects, such as state update and lookup, and instead encode these in the fundamental operations of the calculus. The calculus itself is given by carefully chosen extensions of the lambda-calculus, in particular preserving its characteristic strengths of confluence and typeability. Previous instalments of the FMC covered effects including state, input/output, and probabilistic choice, and enabled the expression of both call-by-name and call-by-value, as well as the control structures of the computational metalanguage and call-by-push-value. The present iteration covers control flow: conditionals, constants, case switches, exception handling, and iteration (loops). The FMC then extends type safety and confluent reduction to a minimal but complete imperative programming language.