  Conditional branches pose a challenge for code optimisation, particularly in
low latency settings. For better performance, processors leverage dedicated
hardware to predict the outcome of a branch and execute the following
instructions speculatively, a powerful optimisation. Modern branch predictors
employ sophisticated algorithms and heuristics that utilise historical data and
patterns to make predictions, and often, are extremely effective at doing so.
Consequently, programmers may inadvertently underestimate the cost of
misprediction when benchmarking code with synthetic data that is either too
short or too predictable. While eliminating branches may not always be
feasible, C++20 introduced the [[likely]] and [[unlikely]] attributes that
enable the compiler to perform spot optimisations on assembly code associated
with likely execution paths. Can we do better than this?
  This work presents the development of a novel language construct, referred to
as a semi-static condition, which enables programmers to dynamically modify the
direction of a branch at run-time by modifying the assembly code within the
underlying executable. Subsequently, we explore scenarios where the use of
semi-static conditions outperforms traditional conditional branching,
highlighting their potential applications in real-time machine learning and
high-frequency trading. Throughout the development process, key considerations
of performance, portability, syntax, and security were taken into account.
