Rayrole's algorithm