These names are chosen to be the same as the CHERI intrinsics, with "cheri" replaced with "morello" due to them being Morello-specific, and "_inexact" appended to document that these do not provide exact rounding semantics and thus care is needed. In particular, names such as __builtin_morello_rrlen/rrmask are explicitly not used because they could easily be confused with the CHERI intrinsics by those not aware of the subtle quirk in Morello's specification of RRLEN/RRMASK, and someone who's read the Morello spec might assume these new intrinsics are the ones they should use. We want to avoid anyone using them unless they're sure they want the quirky Morello behaviour (e.g. carefully-written memory allocators that want to go as fast as possible). Whilst inline assembly also could be used, it's opaque to the compiler and so may interfere with optimisation opportunities.