(include "#.scm")

(check-true (string=? "" ""))
(check-false (string<? "" ""))
(check-false (string>? "" ""))
(check-true (string<=? "" ""))
(check-true (string>=? "" ""))
(check-true (string-ci=? "" ""))
(check-false (string-ci<? "" ""))
(check-false (string-ci>? "" ""))
(check-true (string-ci<=? "" ""))
(check-true (string-ci>=? "" ""))
(check-false (string=? "a" ""))
(check-false (string<? "a" ""))
(check-true (string>? "a" ""))
(check-false (string<=? "a" ""))
(check-true (string>=? "a" ""))
(check-false (string-ci=? "a" ""))
(check-false (string-ci<? "a" ""))
(check-true (string-ci>? "a" ""))
(check-false (string-ci<=? "a" ""))
(check-true (string-ci>=? "a" ""))
(check-false (string=? "" "a"))
(check-true (string<? "" "a"))
(check-false (string>? "" "a"))
(check-true (string<=? "" "a"))
(check-false (string>=? "" "a"))
(check-false (string-ci=? "" "a"))
(check-true (string-ci<? "" "a"))
(check-false (string-ci>? "" "a"))
(check-true (string-ci<=? "" "a"))
(check-false (string-ci>=? "" "a"))
(check-true (string=? "a" "a"))
(check-false (string<? "a" "a"))
(check-false (string>? "a" "a"))
(check-true (string<=? "a" "a"))
(check-true (string>=? "a" "a"))
(check-true (string-ci=? "a" "a"))
(check-false (string-ci<? "a" "a"))
(check-false (string-ci>? "a" "a"))
(check-true (string-ci<=? "a" "a"))
(check-true (string-ci>=? "a" "a"))
(check-false (string=? "a" "A"))
(check-false (string<? "a" "A"))
(check-true (string>? "a" "A"))
(check-false (string<=? "a" "A"))
(check-true (string>=? "a" "A"))
(check-true (string-ci=? "a" "A"))
(check-false (string-ci<? "a" "A"))
(check-false (string-ci>? "a" "A"))
(check-true (string-ci<=? "a" "A"))
(check-true (string-ci>=? "a" "A"))
(check-false (string=? "A" "a"))
(check-true (string<? "A" "a"))
(check-false (string>? "A" "a"))
(check-true (string<=? "A" "a"))
(check-false (string>=? "A" "a"))
(check-true (string-ci=? "A" "a"))
(check-false (string-ci<? "A" "a"))
(check-false (string-ci>? "A" "a"))
(check-true (string-ci<=? "A" "a"))
(check-true (string-ci>=? "A" "a"))
(check-true (string=? "A" "A"))
(check-false (string<? "A" "A"))
(check-false (string>? "A" "A"))
(check-true (string<=? "A" "A"))
(check-true (string>=? "A" "A"))
(check-true (string-ci=? "A" "A"))
(check-false (string-ci<? "A" "A"))
(check-false (string-ci>? "A" "A"))
(check-true (string-ci<=? "A" "A"))
(check-true (string-ci>=? "A" "A"))
(check-false (string=? "a" "b"))
(check-true (string<? "a" "b"))
(check-false (string>? "a" "b"))
(check-true (string<=? "a" "b"))
(check-false (string>=? "a" "b"))
(check-false (string-ci=? "a" "b"))
(check-true (string-ci<? "a" "b"))
(check-false (string-ci>? "a" "b"))
(check-true (string-ci<=? "a" "b"))
(check-false (string-ci>=? "a" "b"))
(check-false (string=? "b" "a"))
(check-false (string<? "b" "a"))
(check-true (string>? "b" "a"))
(check-false (string<=? "b" "a"))
(check-true (string>=? "b" "a"))
(check-false (string-ci=? "b" "a"))
(check-false (string-ci<? "b" "a"))
(check-true (string-ci>? "b" "a"))
(check-false (string-ci<=? "b" "a"))
(check-true (string-ci>=? "b" "a"))
(check-false (string=? "a" "B"))
(check-false (string<? "a" "B"))
(check-true (string>? "a" "B"))
(check-false (string<=? "a" "B"))
(check-true (string>=? "a" "B"))
(check-false (string-ci=? "a" "B"))
(check-true (string-ci<? "a" "B"))
(check-false (string-ci>? "a" "B"))
(check-true (string-ci<=? "a" "B"))
(check-false (string-ci>=? "a" "B"))
(check-false (string=? "B" "a"))
(check-true (string<? "B" "a"))
(check-false (string>? "B" "a"))
(check-true (string<=? "B" "a"))
(check-false (string>=? "B" "a"))
(check-false (string-ci=? "B" "a"))
(check-false (string-ci<? "B" "a"))
(check-true (string-ci>? "B" "a"))
(check-false (string-ci<=? "B" "a"))
(check-true (string-ci>=? "B" "a"))
(check-false (string=? "A" "b"))
(check-true (string<? "A" "b"))
(check-false (string>? "A" "b"))
(check-true (string<=? "A" "b"))
(check-false (string>=? "A" "b"))
(check-false (string-ci=? "A" "b"))
(check-true (string-ci<? "A" "b"))
(check-false (string-ci>? "A" "b"))
(check-true (string-ci<=? "A" "b"))
(check-false (string-ci>=? "A" "b"))
(check-false (string=? "b" "A"))
(check-false (string<? "b" "A"))
(check-true (string>? "b" "A"))
(check-false (string<=? "b" "A"))
(check-true (string>=? "b" "A"))
(check-false (string-ci=? "b" "A"))
(check-false (string-ci<? "b" "A"))
(check-true (string-ci>? "b" "A"))
(check-false (string-ci<=? "b" "A"))
(check-true (string-ci>=? "b" "A"))
(check-false (string=? "A" "B"))
(check-true (string<? "A" "B"))
(check-false (string>? "A" "B"))
(check-true (string<=? "A" "B"))
(check-false (string>=? "A" "B"))
(check-false (string-ci=? "A" "B"))
(check-true (string-ci<? "A" "B"))
(check-false (string-ci>? "A" "B"))
(check-true (string-ci<=? "A" "B"))
(check-false (string-ci>=? "A" "B"))
(check-false (string=? "B" "A"))
(check-false (string<? "B" "A"))
(check-true (string>? "B" "A"))
(check-false (string<=? "B" "A"))
(check-true (string>=? "B" "A"))
(check-false (string-ci=? "B" "A"))
(check-false (string-ci<? "B" "A"))
(check-true (string-ci>? "B" "A"))
(check-false (string-ci<=? "B" "A"))
(check-true (string-ci>=? "B" "A"))
(check-true (string=? "abc" "abc"))
(check-false (string<? "abc" "abc"))
(check-false (string>? "abc" "abc"))
(check-true (string<=? "abc" "abc"))
(check-true (string>=? "abc" "abc"))
(check-true (string-ci=? "abc" "abc"))
(check-false (string-ci<? "abc" "abc"))
(check-false (string-ci>? "abc" "abc"))
(check-true (string-ci<=? "abc" "abc"))
(check-true (string-ci>=? "abc" "abc"))
(check-false (string=? "abc" "ABC"))
(check-false (string<? "abc" "ABC"))
(check-true (string>? "abc" "ABC"))
(check-false (string<=? "abc" "ABC"))
(check-true (string>=? "abc" "ABC"))
(check-true (string-ci=? "abc" "ABC"))
(check-false (string-ci<? "abc" "ABC"))
(check-false (string-ci>? "abc" "ABC"))
(check-true (string-ci<=? "abc" "ABC"))
(check-true (string-ci>=? "abc" "ABC"))
(check-false (string=? "ABC" "abc"))
(check-true (string<? "ABC" "abc"))
(check-false (string>? "ABC" "abc"))
(check-true (string<=? "ABC" "abc"))
(check-false (string>=? "ABC" "abc"))
(check-true (string-ci=? "ABC" "abc"))
(check-false (string-ci<? "ABC" "abc"))
(check-false (string-ci>? "ABC" "abc"))
(check-true (string-ci<=? "ABC" "abc"))
(check-true (string-ci>=? "ABC" "abc"))
(check-false (string=? "Abc" "aBC"))
(check-true (string<? "Abc" "aBC"))
(check-false (string>? "Abc" "aBC"))
(check-true (string<=? "Abc" "aBC"))
(check-false (string>=? "Abc" "aBC"))
(check-true (string-ci=? "Abc" "aBC"))
(check-false (string-ci<? "Abc" "aBC"))
(check-false (string-ci>? "Abc" "aBC"))
(check-true (string-ci<=? "Abc" "aBC"))
(check-true (string-ci>=? "Abc" "aBC"))
(check-false (string=? "aBC" "Abc"))
(check-false (string<? "aBC" "Abc"))
(check-true (string>? "aBC" "Abc"))
(check-false (string<=? "aBC" "Abc"))
(check-true (string>=? "aBC" "Abc"))
(check-true (string-ci=? "aBC" "Abc"))
(check-false (string-ci<? "aBC" "Abc"))
(check-false (string-ci>? "aBC" "Abc"))
(check-true (string-ci<=? "aBC" "Abc"))
(check-true (string-ci>=? "aBC" "Abc"))
(check-false (string=? "\xdf;" "r"))
(check-false (string<? "\xdf;" "r"))
(check-true (string>? "\xdf;" "r"))
(check-false (string<=? "\xdf;" "r"))
(check-true (string>=? "\xdf;" "r"))
(check-false (string-ci=? "\xdf;" "r"))
(check-false (string-ci<? "\xdf;" "r"))
(check-true (string-ci>? "\xdf;" "r"))
(check-false (string-ci<=? "\xdf;" "r"))
(check-true (string-ci>=? "\xdf;" "r"))
(check-false (string=? "r" "\xdf;"))
(check-true (string<? "r" "\xdf;"))
(check-false (string>? "r" "\xdf;"))
(check-true (string<=? "r" "\xdf;"))
(check-false (string>=? "r" "\xdf;"))
(check-false (string-ci=? "r" "\xdf;"))
(check-true (string-ci<? "r" "\xdf;"))
(check-false (string-ci>? "r" "\xdf;"))
(check-true (string-ci<=? "r" "\xdf;"))
(check-false (string-ci>=? "r" "\xdf;"))
(check-false (string=? "\xdf;" "t"))
(check-false (string<? "\xdf;" "t"))
(check-true (string>? "\xdf;" "t"))
(check-false (string<=? "\xdf;" "t"))
(check-true (string>=? "\xdf;" "t"))
(check-false (string-ci=? "\xdf;" "t"))
(check-true (string-ci<? "\xdf;" "t"))
(check-false (string-ci>? "\xdf;" "t"))
(check-true (string-ci<=? "\xdf;" "t"))
(check-false (string-ci>=? "\xdf;" "t"))
(check-false (string=? "t" "\xdf;"))
(check-true (string<? "t" "\xdf;"))
(check-false (string>? "t" "\xdf;"))
(check-true (string<=? "t" "\xdf;"))
(check-false (string>=? "t" "\xdf;"))
(check-false (string-ci=? "t" "\xdf;"))
(check-false (string-ci<? "t" "\xdf;"))
(check-true (string-ci>? "t" "\xdf;"))
(check-false (string-ci<=? "t" "\xdf;"))
(check-true (string-ci>=? "t" "\xdf;"))
(check-false (string=? "\xdf;" "ss"))
(check-false (string<? "\xdf;" "ss"))
(check-true (string>? "\xdf;" "ss"))
(check-false (string<=? "\xdf;" "ss"))
(check-true (string>=? "\xdf;" "ss"))
(check-true (string-ci=? "\xdf;" "ss"))
(check-false (string-ci<? "\xdf;" "ss"))
(check-false (string-ci>? "\xdf;" "ss"))
(check-true (string-ci<=? "\xdf;" "ss"))
(check-true (string-ci>=? "\xdf;" "ss"))
(check-false (string=? "ss" "\xdf;"))
(check-true (string<? "ss" "\xdf;"))
(check-false (string>? "ss" "\xdf;"))
(check-true (string<=? "ss" "\xdf;"))
(check-false (string>=? "ss" "\xdf;"))
(check-true (string-ci=? "ss" "\xdf;"))
(check-false (string-ci<? "ss" "\xdf;"))
(check-false (string-ci>? "ss" "\xdf;"))
(check-true (string-ci<=? "ss" "\xdf;"))
(check-true (string-ci>=? "ss" "\xdf;"))
(check-false (string=? "\xdf;" "sS"))
(check-false (string<? "\xdf;" "sS"))
(check-true (string>? "\xdf;" "sS"))
(check-false (string<=? "\xdf;" "sS"))
(check-true (string>=? "\xdf;" "sS"))
(check-true (string-ci=? "\xdf;" "sS"))
(check-false (string-ci<? "\xdf;" "sS"))
(check-false (string-ci>? "\xdf;" "sS"))
(check-true (string-ci<=? "\xdf;" "sS"))
(check-true (string-ci>=? "\xdf;" "sS"))
(check-false (string=? "sS" "\xdf;"))
(check-true (string<? "sS" "\xdf;"))
(check-false (string>? "sS" "\xdf;"))
(check-true (string<=? "sS" "\xdf;"))
(check-false (string>=? "sS" "\xdf;"))
(check-true (string-ci=? "sS" "\xdf;"))
(check-false (string-ci<? "sS" "\xdf;"))
(check-false (string-ci>? "sS" "\xdf;"))
(check-true (string-ci<=? "sS" "\xdf;"))
(check-true (string-ci>=? "sS" "\xdf;"))
(check-false (string=? "\xdf;" "Ss"))
(check-false (string<? "\xdf;" "Ss"))
(check-true (string>? "\xdf;" "Ss"))
(check-false (string<=? "\xdf;" "Ss"))
(check-true (string>=? "\xdf;" "Ss"))
(check-true (string-ci=? "\xdf;" "Ss"))
(check-false (string-ci<? "\xdf;" "Ss"))
(check-false (string-ci>? "\xdf;" "Ss"))
(check-true (string-ci<=? "\xdf;" "Ss"))
(check-true (string-ci>=? "\xdf;" "Ss"))
(check-false (string=? "Ss" "\xdf;"))
(check-true (string<? "Ss" "\xdf;"))
(check-false (string>? "Ss" "\xdf;"))
(check-true (string<=? "Ss" "\xdf;"))
(check-false (string>=? "Ss" "\xdf;"))
(check-true (string-ci=? "Ss" "\xdf;"))
(check-false (string-ci<? "Ss" "\xdf;"))
(check-false (string-ci>? "Ss" "\xdf;"))
(check-true (string-ci<=? "Ss" "\xdf;"))
(check-true (string-ci>=? "Ss" "\xdf;"))
(check-false (string=? "\xdf;" "SS"))
(check-false (string<? "\xdf;" "SS"))
(check-true (string>? "\xdf;" "SS"))
(check-false (string<=? "\xdf;" "SS"))
(check-true (string>=? "\xdf;" "SS"))
(check-true (string-ci=? "\xdf;" "SS"))
(check-false (string-ci<? "\xdf;" "SS"))
(check-false (string-ci>? "\xdf;" "SS"))
(check-true (string-ci<=? "\xdf;" "SS"))
(check-true (string-ci>=? "\xdf;" "SS"))
(check-false (string=? "SS" "\xdf;"))
(check-true (string<? "SS" "\xdf;"))
(check-false (string>? "SS" "\xdf;"))
(check-true (string<=? "SS" "\xdf;"))
(check-false (string>=? "SS" "\xdf;"))
(check-true (string-ci=? "SS" "\xdf;"))
(check-false (string-ci<? "SS" "\xdf;"))
(check-false (string-ci>? "SS" "\xdf;"))
(check-true (string-ci<=? "SS" "\xdf;"))
(check-true (string-ci>=? "SS" "\xdf;"))
(check-false (string=? "\xdf;" "sr"))
(check-false (string<? "\xdf;" "sr"))
(check-true (string>? "\xdf;" "sr"))
(check-false (string<=? "\xdf;" "sr"))
(check-true (string>=? "\xdf;" "sr"))
(check-false (string-ci=? "\xdf;" "sr"))
(check-false (string-ci<? "\xdf;" "sr"))
(check-true (string-ci>? "\xdf;" "sr"))
(check-false (string-ci<=? "\xdf;" "sr"))
(check-true (string-ci>=? "\xdf;" "sr"))
(check-false (string=? "sr" "\xdf;"))
(check-true (string<? "sr" "\xdf;"))
(check-false (string>? "sr" "\xdf;"))
(check-true (string<=? "sr" "\xdf;"))
(check-false (string>=? "sr" "\xdf;"))
(check-false (string-ci=? "sr" "\xdf;"))
(check-true (string-ci<? "sr" "\xdf;"))
(check-false (string-ci>? "sr" "\xdf;"))
(check-true (string-ci<=? "sr" "\xdf;"))
(check-false (string-ci>=? "sr" "\xdf;"))
(check-false (string=? "\xdf;" "sT"))
(check-false (string<? "\xdf;" "sT"))
(check-true (string>? "\xdf;" "sT"))
(check-false (string<=? "\xdf;" "sT"))
(check-true (string>=? "\xdf;" "sT"))
(check-false (string-ci=? "\xdf;" "sT"))
(check-true (string-ci<? "\xdf;" "sT"))
(check-false (string-ci>? "\xdf;" "sT"))
(check-true (string-ci<=? "\xdf;" "sT"))
(check-false (string-ci>=? "\xdf;" "sT"))
(check-false (string=? "sT" "\xdf;"))
(check-true (string<? "sT" "\xdf;"))
(check-false (string>? "sT" "\xdf;"))
(check-true (string<=? "sT" "\xdf;"))
(check-false (string>=? "sT" "\xdf;"))
(check-false (string-ci=? "sT" "\xdf;"))
(check-false (string-ci<? "sT" "\xdf;"))
(check-true (string-ci>? "sT" "\xdf;"))
(check-false (string-ci<=? "sT" "\xdf;"))
(check-true (string-ci>=? "sT" "\xdf;"))
(check-false (string=? "y\xdf;" "Yss"))
(check-false (string<? "y\xdf;" "Yss"))
(check-true (string>? "y\xdf;" "Yss"))
(check-false (string<=? "y\xdf;" "Yss"))
(check-true (string>=? "y\xdf;" "Yss"))
(check-true (string-ci=? "y\xdf;" "Yss"))
(check-false (string-ci<? "y\xdf;" "Yss"))
(check-false (string-ci>? "y\xdf;" "Yss"))
(check-true (string-ci<=? "y\xdf;" "Yss"))
(check-true (string-ci>=? "y\xdf;" "Yss"))
(check-false (string=? "Yss" "y\xdf;"))
(check-true (string<? "Yss" "y\xdf;"))
(check-false (string>? "Yss" "y\xdf;"))
(check-true (string<=? "Yss" "y\xdf;"))
(check-false (string>=? "Yss" "y\xdf;"))
(check-true (string-ci=? "Yss" "y\xdf;"))
(check-false (string-ci<? "Yss" "y\xdf;"))
(check-false (string-ci>? "Yss" "y\xdf;"))
(check-true (string-ci<=? "Yss" "y\xdf;"))
(check-true (string-ci>=? "Yss" "y\xdf;"))
(check-false (string=? "\xdf;y" "ssY"))
(check-false (string<? "\xdf;y" "ssY"))
(check-true (string>? "\xdf;y" "ssY"))
(check-false (string<=? "\xdf;y" "ssY"))
(check-true (string>=? "\xdf;y" "ssY"))
(check-true (string-ci=? "\xdf;y" "ssY"))
(check-false (string-ci<? "\xdf;y" "ssY"))
(check-false (string-ci>? "\xdf;y" "ssY"))
(check-true (string-ci<=? "\xdf;y" "ssY"))
(check-true (string-ci>=? "\xdf;y" "ssY"))
(check-false (string=? "ssY" "\xdf;y"))
(check-true (string<? "ssY" "\xdf;y"))
(check-false (string>? "ssY" "\xdf;y"))
(check-true (string<=? "ssY" "\xdf;y"))
(check-false (string>=? "ssY" "\xdf;y"))
(check-true (string-ci=? "ssY" "\xdf;y"))
(check-false (string-ci<? "ssY" "\xdf;y"))
(check-false (string-ci>? "ssY" "\xdf;y"))
(check-true (string-ci<=? "ssY" "\xdf;y"))
(check-true (string-ci>=? "ssY" "\xdf;y"))
(check-false (string=? "\xdf;\xdf;" "sSSs"))
(check-false (string<? "\xdf;\xdf;" "sSSs"))
(check-true (string>? "\xdf;\xdf;" "sSSs"))
(check-false (string<=? "\xdf;\xdf;" "sSSs"))
(check-true (string>=? "\xdf;\xdf;" "sSSs"))
(check-true (string-ci=? "\xdf;\xdf;" "sSSs"))
(check-false (string-ci<? "\xdf;\xdf;" "sSSs"))
(check-false (string-ci>? "\xdf;\xdf;" "sSSs"))
(check-true (string-ci<=? "\xdf;\xdf;" "sSSs"))
(check-true (string-ci>=? "\xdf;\xdf;" "sSSs"))
(check-false (string=? "sSSs" "\xdf;\xdf;"))
(check-true (string<? "sSSs" "\xdf;\xdf;"))
(check-false (string>? "sSSs" "\xdf;\xdf;"))
(check-true (string<=? "sSSs" "\xdf;\xdf;"))
(check-false (string>=? "sSSs" "\xdf;\xdf;"))
(check-true (string-ci=? "sSSs" "\xdf;\xdf;"))
(check-false (string-ci<? "sSSs" "\xdf;\xdf;"))
(check-false (string-ci>? "sSSs" "\xdf;\xdf;"))
(check-true (string-ci<=? "sSSs" "\xdf;\xdf;"))
(check-true (string-ci>=? "sSSs" "\xdf;\xdf;"))
(check-false (string=? "\xdf;y\xdf;" "ssYss"))
(check-false (string<? "\xdf;y\xdf;" "ssYss"))
(check-true (string>? "\xdf;y\xdf;" "ssYss"))
(check-false (string<=? "\xdf;y\xdf;" "ssYss"))
(check-true (string>=? "\xdf;y\xdf;" "ssYss"))
(check-true (string-ci=? "\xdf;y\xdf;" "ssYss"))
(check-false (string-ci<? "\xdf;y\xdf;" "ssYss"))
(check-false (string-ci>? "\xdf;y\xdf;" "ssYss"))
(check-true (string-ci<=? "\xdf;y\xdf;" "ssYss"))
(check-true (string-ci>=? "\xdf;y\xdf;" "ssYss"))
(check-false (string=? "ssYss" "\xdf;y\xdf;"))
(check-true (string<? "ssYss" "\xdf;y\xdf;"))
(check-false (string>? "ssYss" "\xdf;y\xdf;"))
(check-true (string<=? "ssYss" "\xdf;y\xdf;"))
(check-false (string>=? "ssYss" "\xdf;y\xdf;"))
(check-true (string-ci=? "ssYss" "\xdf;y\xdf;"))
(check-false (string-ci<? "ssYss" "\xdf;y\xdf;"))
(check-false (string-ci>? "ssYss" "\xdf;y\xdf;"))
(check-true (string-ci<=? "ssYss" "\xdf;y\xdf;"))
(check-true (string-ci>=? "ssYss" "\xdf;y\xdf;"))
(check-false (string=? "y\xdf;" "Yss"))
(check-false (string<? "y\xdf;" "Yss"))
(check-true (string>? "y\xdf;" "Yss"))
(check-false (string<=? "y\xdf;" "Yss"))
(check-true (string>=? "y\xdf;" "Yss"))
(check-true (string-ci=? "y\xdf;" "Yss"))
(check-false (string-ci<? "y\xdf;" "Yss"))
(check-false (string-ci>? "y\xdf;" "Yss"))
(check-true (string-ci<=? "y\xdf;" "Yss"))
(check-true (string-ci>=? "y\xdf;" "Yss"))
(check-false (string=? "Yss" "y\xdf;"))
(check-true (string<? "Yss" "y\xdf;"))
(check-false (string>? "Yss" "y\xdf;"))
(check-true (string<=? "Yss" "y\xdf;"))
(check-false (string>=? "Yss" "y\xdf;"))
(check-true (string-ci=? "Yss" "y\xdf;"))
(check-false (string-ci<? "Yss" "y\xdf;"))
(check-false (string-ci>? "Yss" "y\xdf;"))
(check-true (string-ci<=? "Yss" "y\xdf;"))
(check-true (string-ci>=? "Yss" "y\xdf;"))
(check-false (string=? "\xdf;y" "ssY"))
(check-false (string<? "\xdf;y" "ssY"))
(check-true (string>? "\xdf;y" "ssY"))
(check-false (string<=? "\xdf;y" "ssY"))
(check-true (string>=? "\xdf;y" "ssY"))
(check-true (string-ci=? "\xdf;y" "ssY"))
(check-false (string-ci<? "\xdf;y" "ssY"))
(check-false (string-ci>? "\xdf;y" "ssY"))
(check-true (string-ci<=? "\xdf;y" "ssY"))
(check-true (string-ci>=? "\xdf;y" "ssY"))
(check-false (string=? "ssY" "\xdf;y"))
(check-true (string<? "ssY" "\xdf;y"))
(check-false (string>? "ssY" "\xdf;y"))
(check-true (string<=? "ssY" "\xdf;y"))
(check-false (string>=? "ssY" "\xdf;y"))
(check-true (string-ci=? "ssY" "\xdf;y"))
(check-false (string-ci<? "ssY" "\xdf;y"))
(check-false (string-ci>? "ssY" "\xdf;y"))
(check-true (string-ci<=? "ssY" "\xdf;y"))
(check-true (string-ci>=? "ssY" "\xdf;y"))
(check-false (string=? "\xdf;\xdf;" "ssss"))
(check-false (string<? "\xdf;\xdf;" "ssss"))
(check-true (string>? "\xdf;\xdf;" "ssss"))
(check-false (string<=? "\xdf;\xdf;" "ssss"))
(check-true (string>=? "\xdf;\xdf;" "ssss"))
(check-true (string-ci=? "\xdf;\xdf;" "ssss"))
(check-false (string-ci<? "\xdf;\xdf;" "ssss"))
(check-false (string-ci>? "\xdf;\xdf;" "ssss"))
(check-true (string-ci<=? "\xdf;\xdf;" "ssss"))
(check-true (string-ci>=? "\xdf;\xdf;" "ssss"))
(check-false (string=? "ssss" "\xdf;\xdf;"))
(check-true (string<? "ssss" "\xdf;\xdf;"))
(check-false (string>? "ssss" "\xdf;\xdf;"))
(check-true (string<=? "ssss" "\xdf;\xdf;"))
(check-false (string>=? "ssss" "\xdf;\xdf;"))
(check-true (string-ci=? "ssss" "\xdf;\xdf;"))
(check-false (string-ci<? "ssss" "\xdf;\xdf;"))
(check-false (string-ci>? "ssss" "\xdf;\xdf;"))
(check-true (string-ci<=? "ssss" "\xdf;\xdf;"))
(check-true (string-ci>=? "ssss" "\xdf;\xdf;"))
(check-false (string=? "\xdf;y\xdf;" "ssYss"))
(check-false (string<? "\xdf;y\xdf;" "ssYss"))
(check-true (string>? "\xdf;y\xdf;" "ssYss"))
(check-false (string<=? "\xdf;y\xdf;" "ssYss"))
(check-true (string>=? "\xdf;y\xdf;" "ssYss"))
(check-true (string-ci=? "\xdf;y\xdf;" "ssYss"))
(check-false (string-ci<? "\xdf;y\xdf;" "ssYss"))
(check-false (string-ci>? "\xdf;y\xdf;" "ssYss"))
(check-true (string-ci<=? "\xdf;y\xdf;" "ssYss"))
(check-true (string-ci>=? "\xdf;y\xdf;" "ssYss"))
(check-false (string=? "ssYss" "\xdf;y\xdf;"))
(check-true (string<? "ssYss" "\xdf;y\xdf;"))
(check-false (string>? "ssYss" "\xdf;y\xdf;"))
(check-true (string<=? "ssYss" "\xdf;y\xdf;"))
(check-false (string>=? "ssYss" "\xdf;y\xdf;"))
(check-true (string-ci=? "ssYss" "\xdf;y\xdf;"))
(check-false (string-ci<? "ssYss" "\xdf;y\xdf;"))
(check-false (string-ci>? "ssYss" "\xdf;y\xdf;"))
(check-true (string-ci<=? "ssYss" "\xdf;y\xdf;"))
(check-true (string-ci>=? "ssYss" "\xdf;y\xdf;"))
(check-true (string=? "\xdf;" "\xdf;"))
(check-false (string<? "\xdf;" "\xdf;"))
(check-false (string>? "\xdf;" "\xdf;"))
(check-true (string<=? "\xdf;" "\xdf;"))
(check-true (string>=? "\xdf;" "\xdf;"))
(check-true (string-ci=? "\xdf;" "\xdf;"))
(check-false (string-ci<? "\xdf;" "\xdf;"))
(check-false (string-ci>? "\xdf;" "\xdf;"))
(check-true (string-ci<=? "\xdf;" "\xdf;"))
(check-true (string-ci>=? "\xdf;" "\xdf;"))
(check-false (string=? "s\xdf;" "\xdf;s"))
(check-true (string<? "s\xdf;" "\xdf;s"))
(check-false (string>? "s\xdf;" "\xdf;s"))
(check-true (string<=? "s\xdf;" "\xdf;s"))
(check-false (string>=? "s\xdf;" "\xdf;s"))
(check-true (string-ci=? "s\xdf;" "\xdf;s"))
(check-false (string-ci<? "s\xdf;" "\xdf;s"))
(check-false (string-ci>? "s\xdf;" "\xdf;s"))
(check-true (string-ci<=? "s\xdf;" "\xdf;s"))
(check-true (string-ci>=? "s\xdf;" "\xdf;s"))
(check-false (string=? "\xdf;s" "s\xdf;"))
(check-false (string<? "\xdf;s" "s\xdf;"))
(check-true (string>? "\xdf;s" "s\xdf;"))
(check-false (string<=? "\xdf;s" "s\xdf;"))
(check-true (string>=? "\xdf;s" "s\xdf;"))
(check-true (string-ci=? "\xdf;s" "s\xdf;"))
(check-false (string-ci<? "\xdf;s" "s\xdf;"))
(check-false (string-ci>? "\xdf;s" "s\xdf;"))
(check-true (string-ci<=? "\xdf;s" "s\xdf;"))
(check-true (string-ci>=? "\xdf;s" "s\xdf;"))
(check-false (string=? "s\xdf;" "\xdf;S"))
(check-true (string<? "s\xdf;" "\xdf;S"))
(check-false (string>? "s\xdf;" "\xdf;S"))
(check-true (string<=? "s\xdf;" "\xdf;S"))
(check-false (string>=? "s\xdf;" "\xdf;S"))
(check-true (string-ci=? "s\xdf;" "\xdf;S"))
(check-false (string-ci<? "s\xdf;" "\xdf;S"))
(check-false (string-ci>? "s\xdf;" "\xdf;S"))
(check-true (string-ci<=? "s\xdf;" "\xdf;S"))
(check-true (string-ci>=? "s\xdf;" "\xdf;S"))
(check-false (string=? "\xdf;S" "s\xdf;"))
(check-false (string<? "\xdf;S" "s\xdf;"))
(check-true (string>? "\xdf;S" "s\xdf;"))
(check-false (string<=? "\xdf;S" "s\xdf;"))
(check-true (string>=? "\xdf;S" "s\xdf;"))
(check-true (string-ci=? "\xdf;S" "s\xdf;"))
(check-false (string-ci<? "\xdf;S" "s\xdf;"))
(check-false (string-ci>? "\xdf;S" "s\xdf;"))
(check-true (string-ci<=? "\xdf;S" "s\xdf;"))
(check-true (string-ci>=? "\xdf;S" "s\xdf;"))
(check-false (string=? "S\xdf;" "\xdf;s"))
(check-true (string<? "S\xdf;" "\xdf;s"))
(check-false (string>? "S\xdf;" "\xdf;s"))
(check-true (string<=? "S\xdf;" "\xdf;s"))
(check-false (string>=? "S\xdf;" "\xdf;s"))
(check-true (string-ci=? "S\xdf;" "\xdf;s"))
(check-false (string-ci<? "S\xdf;" "\xdf;s"))
(check-false (string-ci>? "S\xdf;" "\xdf;s"))
(check-true (string-ci<=? "S\xdf;" "\xdf;s"))
(check-true (string-ci>=? "S\xdf;" "\xdf;s"))
(check-false (string=? "\xdf;s" "S\xdf;"))
(check-false (string<? "\xdf;s" "S\xdf;"))
(check-true (string>? "\xdf;s" "S\xdf;"))
(check-false (string<=? "\xdf;s" "S\xdf;"))
(check-true (string>=? "\xdf;s" "S\xdf;"))
(check-true (string-ci=? "\xdf;s" "S\xdf;"))
(check-false (string-ci<? "\xdf;s" "S\xdf;"))
(check-false (string-ci>? "\xdf;s" "S\xdf;"))
(check-true (string-ci<=? "\xdf;s" "S\xdf;"))
(check-true (string-ci>=? "\xdf;s" "S\xdf;"))
(check-false (string=? "S\xdf;" "\xdf;S"))
(check-true (string<? "S\xdf;" "\xdf;S"))
(check-false (string>? "S\xdf;" "\xdf;S"))
(check-true (string<=? "S\xdf;" "\xdf;S"))
(check-false (string>=? "S\xdf;" "\xdf;S"))
(check-true (string-ci=? "S\xdf;" "\xdf;S"))
(check-false (string-ci<? "S\xdf;" "\xdf;S"))
(check-false (string-ci>? "S\xdf;" "\xdf;S"))
(check-true (string-ci<=? "S\xdf;" "\xdf;S"))
(check-true (string-ci>=? "S\xdf;" "\xdf;S"))
(check-false (string=? "\xdf;S" "S\xdf;"))
(check-false (string<? "\xdf;S" "S\xdf;"))
(check-true (string>? "\xdf;S" "S\xdf;"))
(check-false (string<=? "\xdf;S" "S\xdf;"))
(check-true (string>=? "\xdf;S" "S\xdf;"))
(check-true (string-ci=? "\xdf;S" "S\xdf;"))
(check-false (string-ci<? "\xdf;S" "S\xdf;"))
(check-false (string-ci>? "\xdf;S" "S\xdf;"))
(check-true (string-ci<=? "\xdf;S" "S\xdf;"))
(check-true (string-ci>=? "\xdf;S" "S\xdf;"))
(check-false (string=? "s\xdf;" "\xdf;r"))
(check-true (string<? "s\xdf;" "\xdf;r"))
(check-false (string>? "s\xdf;" "\xdf;r"))
(check-true (string<=? "s\xdf;" "\xdf;r"))
(check-false (string>=? "s\xdf;" "\xdf;r"))
(check-false (string-ci=? "s\xdf;" "\xdf;r"))
(check-false (string-ci<? "s\xdf;" "\xdf;r"))
(check-true (string-ci>? "s\xdf;" "\xdf;r"))
(check-false (string-ci<=? "s\xdf;" "\xdf;r"))
(check-true (string-ci>=? "s\xdf;" "\xdf;r"))
(check-false (string=? "\xdf;r" "s\xdf;"))
(check-false (string<? "\xdf;r" "s\xdf;"))
(check-true (string>? "\xdf;r" "s\xdf;"))
(check-false (string<=? "\xdf;r" "s\xdf;"))
(check-true (string>=? "\xdf;r" "s\xdf;"))
(check-false (string-ci=? "\xdf;r" "s\xdf;"))
(check-true (string-ci<? "\xdf;r" "s\xdf;"))
(check-false (string-ci>? "\xdf;r" "s\xdf;"))
(check-true (string-ci<=? "\xdf;r" "s\xdf;"))
(check-false (string-ci>=? "\xdf;r" "s\xdf;"))
(check-false (string=? "s\xdf;" "\xdf;R"))
(check-true (string<? "s\xdf;" "\xdf;R"))
(check-false (string>? "s\xdf;" "\xdf;R"))
(check-true (string<=? "s\xdf;" "\xdf;R"))
(check-false (string>=? "s\xdf;" "\xdf;R"))
(check-false (string-ci=? "s\xdf;" "\xdf;R"))
(check-false (string-ci<? "s\xdf;" "\xdf;R"))
(check-true (string-ci>? "s\xdf;" "\xdf;R"))
(check-false (string-ci<=? "s\xdf;" "\xdf;R"))
(check-true (string-ci>=? "s\xdf;" "\xdf;R"))
(check-false (string=? "\xdf;R" "s\xdf;"))
(check-false (string<? "\xdf;R" "s\xdf;"))
(check-true (string>? "\xdf;R" "s\xdf;"))
(check-false (string<=? "\xdf;R" "s\xdf;"))
(check-true (string>=? "\xdf;R" "s\xdf;"))
(check-false (string-ci=? "\xdf;R" "s\xdf;"))
(check-true (string-ci<? "\xdf;R" "s\xdf;"))
(check-false (string-ci>? "\xdf;R" "s\xdf;"))
(check-true (string-ci<=? "\xdf;R" "s\xdf;"))
(check-false (string-ci>=? "\xdf;R" "s\xdf;"))
(check-false (string=? "S\xdf;" "\xdf;t"))
(check-true (string<? "S\xdf;" "\xdf;t"))
(check-false (string>? "S\xdf;" "\xdf;t"))
(check-true (string<=? "S\xdf;" "\xdf;t"))
(check-false (string>=? "S\xdf;" "\xdf;t"))
(check-false (string-ci=? "S\xdf;" "\xdf;t"))
(check-true (string-ci<? "S\xdf;" "\xdf;t"))
(check-false (string-ci>? "S\xdf;" "\xdf;t"))
(check-true (string-ci<=? "S\xdf;" "\xdf;t"))
(check-false (string-ci>=? "S\xdf;" "\xdf;t"))
(check-false (string=? "\xdf;t" "S\xdf;"))
(check-false (string<? "\xdf;t" "S\xdf;"))
(check-true (string>? "\xdf;t" "S\xdf;"))
(check-false (string<=? "\xdf;t" "S\xdf;"))
(check-true (string>=? "\xdf;t" "S\xdf;"))
(check-false (string-ci=? "\xdf;t" "S\xdf;"))
(check-false (string-ci<? "\xdf;t" "S\xdf;"))
(check-true (string-ci>? "\xdf;t" "S\xdf;"))
(check-false (string-ci<=? "\xdf;t" "S\xdf;"))
(check-true (string-ci>=? "\xdf;t" "S\xdf;"))
(check-false (string=? "S\xdf;" "\xdf;T"))
(check-true (string<? "S\xdf;" "\xdf;T"))
(check-false (string>? "S\xdf;" "\xdf;T"))
(check-true (string<=? "S\xdf;" "\xdf;T"))
(check-false (string>=? "S\xdf;" "\xdf;T"))
(check-false (string-ci=? "S\xdf;" "\xdf;T"))
(check-true (string-ci<? "S\xdf;" "\xdf;T"))
(check-false (string-ci>? "S\xdf;" "\xdf;T"))
(check-true (string-ci<=? "S\xdf;" "\xdf;T"))
(check-false (string-ci>=? "S\xdf;" "\xdf;T"))
(check-false (string=? "\xdf;T" "S\xdf;"))
(check-false (string<? "\xdf;T" "S\xdf;"))
(check-true (string>? "\xdf;T" "S\xdf;"))
(check-false (string<=? "\xdf;T" "S\xdf;"))
(check-true (string>=? "\xdf;T" "S\xdf;"))
(check-false (string-ci=? "\xdf;T" "S\xdf;"))
(check-false (string-ci<? "\xdf;T" "S\xdf;"))
(check-true (string-ci>? "\xdf;T" "S\xdf;"))
(check-false (string-ci<=? "\xdf;T" "S\xdf;"))
(check-true (string-ci>=? "\xdf;T" "S\xdf;"))

(define-macro (if-max-char-code-greater-than n code-as-string)
  (if (> (##max-char-code) n)
      `(begin ,@(with-input-from-string code-as-string read-all))
      `(begin)))

(if-max-char-code-greater-than 255 #<<end-of-at-least-2-byte-chars
(check-false (string=? "\xfb03;" "fFi"))
(check-false (string<? "\xfb03;" "fFi"))
(check-true (string>? "\xfb03;" "fFi"))
(check-false (string<=? "\xfb03;" "fFi"))
(check-true (string>=? "\xfb03;" "fFi"))
(check-true (string-ci=? "\xfb03;" "fFi"))
(check-false (string-ci<? "\xfb03;" "fFi"))
(check-false (string-ci>? "\xfb03;" "fFi"))
(check-true (string-ci<=? "\xfb03;" "fFi"))
(check-true (string-ci>=? "\xfb03;" "fFi"))
(check-false (string=? "fFi" "\xfb03;"))
(check-true (string<? "fFi" "\xfb03;"))
(check-false (string>? "fFi" "\xfb03;"))
(check-true (string<=? "fFi" "\xfb03;"))
(check-false (string>=? "fFi" "\xfb03;"))
(check-true (string-ci=? "fFi" "\xfb03;"))
(check-false (string-ci<? "fFi" "\xfb03;"))
(check-false (string-ci>? "fFi" "\xfb03;"))
(check-true (string-ci<=? "fFi" "\xfb03;"))
(check-true (string-ci>=? "fFi" "\xfb03;"))
(check-false (string=? "\xfb03;" "\xfb00;i"))
(check-false (string<? "\xfb03;" "\xfb00;i"))
(check-true (string>? "\xfb03;" "\xfb00;i"))
(check-false (string<=? "\xfb03;" "\xfb00;i"))
(check-true (string>=? "\xfb03;" "\xfb00;i"))
(check-true (string-ci=? "\xfb03;" "\xfb00;i"))
(check-false (string-ci<? "\xfb03;" "\xfb00;i"))
(check-false (string-ci>? "\xfb03;" "\xfb00;i"))
(check-true (string-ci<=? "\xfb03;" "\xfb00;i"))
(check-true (string-ci>=? "\xfb03;" "\xfb00;i"))
(check-false (string=? "\xfb00;i" "\xfb03;"))
(check-true (string<? "\xfb00;i" "\xfb03;"))
(check-false (string>? "\xfb00;i" "\xfb03;"))
(check-true (string<=? "\xfb00;i" "\xfb03;"))
(check-false (string>=? "\xfb00;i" "\xfb03;"))
(check-true (string-ci=? "\xfb00;i" "\xfb03;"))
(check-false (string-ci<? "\xfb00;i" "\xfb03;"))
(check-false (string-ci>? "\xfb00;i" "\xfb03;"))
(check-true (string-ci<=? "\xfb00;i" "\xfb03;"))
(check-true (string-ci>=? "\xfb00;i" "\xfb03;"))
(check-false (string=? "\xfb03;" "f\xfb00;"))
(check-false (string<? "\xfb03;" "f\xfb00;"))
(check-true (string>? "\xfb03;" "f\xfb00;"))
(check-false (string<=? "\xfb03;" "f\xfb00;"))
(check-true (string>=? "\xfb03;" "f\xfb00;"))
(check-false (string-ci=? "\xfb03;" "f\xfb00;"))
(check-false (string-ci<? "\xfb03;" "f\xfb00;"))
(check-true (string-ci>? "\xfb03;" "f\xfb00;"))
(check-false (string-ci<=? "\xfb03;" "f\xfb00;"))
(check-true (string-ci>=? "\xfb03;" "f\xfb00;"))
(check-false (string=? "f\xfb00;" "\xfb03;"))
(check-true (string<? "f\xfb00;" "\xfb03;"))
(check-false (string>? "f\xfb00;" "\xfb03;"))
(check-true (string<=? "f\xfb00;" "\xfb03;"))
(check-false (string>=? "f\xfb00;" "\xfb03;"))
(check-false (string-ci=? "f\xfb00;" "\xfb03;"))
(check-true (string-ci<? "f\xfb00;" "\xfb03;"))
(check-false (string-ci>? "f\xfb00;" "\xfb03;"))
(check-true (string-ci<=? "f\xfb00;" "\xfb03;"))
(check-false (string-ci>=? "f\xfb00;" "\xfb03;"))
(check-false (string=? "\xfb04;" "f\xfb02;"))
(check-false (string<? "\xfb04;" "f\xfb02;"))
(check-true (string>? "\xfb04;" "f\xfb02;"))
(check-false (string<=? "\xfb04;" "f\xfb02;"))
(check-true (string>=? "\xfb04;" "f\xfb02;"))
(check-true (string-ci=? "\xfb04;" "f\xfb02;"))
(check-false (string-ci<? "\xfb04;" "f\xfb02;"))
(check-false (string-ci>? "\xfb04;" "f\xfb02;"))
(check-true (string-ci<=? "\xfb04;" "f\xfb02;"))
(check-true (string-ci>=? "\xfb04;" "f\xfb02;"))
(check-false (string=? "f\xfb02;" "\xfb04;"))
(check-true (string<? "f\xfb02;" "\xfb04;"))
(check-false (string>? "f\xfb02;" "\xfb04;"))
(check-true (string<=? "f\xfb02;" "\xfb04;"))
(check-false (string>=? "f\xfb02;" "\xfb04;"))
(check-true (string-ci=? "f\xfb02;" "\xfb04;"))
(check-false (string-ci<? "f\xfb02;" "\xfb04;"))
(check-false (string-ci>? "f\xfb02;" "\xfb04;"))
(check-true (string-ci<=? "f\xfb02;" "\xfb04;"))
(check-true (string-ci>=? "f\xfb02;" "\xfb04;"))
(check-false (string=? "\xfb05;" "\xfb06;"))
(check-true (string<? "\xfb05;" "\xfb06;"))
(check-false (string>? "\xfb05;" "\xfb06;"))
(check-true (string<=? "\xfb05;" "\xfb06;"))
(check-false (string>=? "\xfb05;" "\xfb06;"))
(check-true (string-ci=? "\xfb05;" "\xfb06;"))
(check-false (string-ci<? "\xfb05;" "\xfb06;"))
(check-false (string-ci>? "\xfb05;" "\xfb06;"))
(check-true (string-ci<=? "\xfb05;" "\xfb06;"))
(check-true (string-ci>=? "\xfb05;" "\xfb06;"))
(check-false (string=? "\xfb06;" "\xfb05;"))
(check-false (string<? "\xfb06;" "\xfb05;"))
(check-true (string>? "\xfb06;" "\xfb05;"))
(check-false (string<=? "\xfb06;" "\xfb05;"))
(check-true (string>=? "\xfb06;" "\xfb05;"))
(check-true (string-ci=? "\xfb06;" "\xfb05;"))
(check-false (string-ci<? "\xfb06;" "\xfb05;"))
(check-false (string-ci>? "\xfb06;" "\xfb05;"))
(check-true (string-ci<=? "\xfb06;" "\xfb05;"))
(check-true (string-ci>=? "\xfb06;" "\xfb05;"))
(check-false (string=? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-false (string<? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-true (string>? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-false (string<=? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-true (string>=? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-true (string-ci=? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-false (string-ci<? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-false (string-ci>? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-true (string-ci<=? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-true (string-ci>=? "\xdf;\xfb05;" "S\x1e9e;t"))
(check-false (string=? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-true (string<? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-false (string>? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-true (string<=? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-false (string>=? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-true (string-ci=? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-false (string-ci<? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-false (string-ci>? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-true (string-ci<=? "S\x1e9e;t" "\xdf;\xfb05;"))
(check-true (string-ci>=? "S\x1e9e;t" "\xdf;\xfb05;"))
end-of-at-least-2-byte-chars
)
