- = stem->extent (stem, Y_AXIS)[stemdir]
- - stemdir * max (beam_count, 1) * beam_translation;
+ = (pure
+ ? stem->pure_height (stem, 0, INT_MAX)[stemdir]
+ : stem->extent (stem, Y_AXIS)[stemdir])
+ - stemdir * max (beam_count, 1) * beam_translation
+ - Stem::beam_end_corrective (stem);