qr{ \A \s* (? \d+ (?: [.] \d* )? | [.] \d+ ) (?{ 1 }) (?> \s+ (?: (? \d+ (?: [.] \d* )? | [.] \d+ ) (?{ $^R + 1}) | (? chs | abs | sqrt | sqr | sin | cos | tan ) | (? [-+/*^] ) (?{ $^R - 1 }) ) )* \s* \z (?(?{ $^R != 1 }) (*FAIL) ) }msx,