Probably don't need to implement because LLVM automatically does this but if possible extended branchless optimisation