Semi-inverse design is the automatic recambering of an aerofoil during a computational fluid dynamics (CFD) calculation in order to achieve a target lift distribution while maintaining thickness, hence, “semi-inverse.” In this design method, the streamwise distribution of curvature is replaced by a streamwise distribution of lift. The authors have developed an inverse design code based on the method of Hield (2008, “Semi-Inverse Design Applied to an Eight Stage Transonic Axial Flow Compressor,” ASME Paper No. GT2008-50430), which can rapidly design three-dimensional fan blades in a multistage environment. The algorithm uses an inner loop to design to radially varying target lift distributions, an outer loop to achieve radial distributions of stage pressure ratio and exit flow angle, and a choked nozzle to set design mass flow. The code is easily wrapped around any CFD solver. In this paper, we describe a novel algorithm for designing simultaneously for specified performance at full speed and peak efficiency at part speed, without trade-offs between the targets at each of the two operating points. We also introduce a novel adaptive target lift distribution, which automatically develops discontinuous changes of calculated magnitude, based on the passage shock, eliminating erroneous lift demands in the shock vicinity and maintaining a smooth aerofoil.