Figure provides an overview of the algorithm where two score-and-rank steps are also included. These steps make use of a relaxation of the Laue condition. That is, we rank higher candidate vectors (or matrices) that are close to satisfying the Laue condition, i.e., they are close enough to integers after taking the product. This allows us to focus our computational power on those that are more promising. XGandalf uses similar steps where only top candidates are passed to subsequent phases.