The US Chess pairing algorithm is not actually an algorithm as multiple possible pairing results are almost always possible for a given tournament round (indeed, the rules themselves prescribe 2 different methods for switching pairings to improve colors [29E6a and 29E6b]) and, while describing one method as producing “often inferior” pairings the rules do not explain how to evaluate two different sets of pairings for superiority.
FIDE is at least mostly* deterministic.
*Acknowledging Tom Doan’s notes regarding some failure cases for the FIDE algorithm, in particular How to determine the "best" pairings - #25 by wintdoan