XOR Exponents by tails (source)

# chopzeros =
#     19 [f.[r.
#         ifle2 (car1 r) 48
#         (f (cdr1 r))
#         r
#     ]]
#     I
# ;
# 
# dec_zero = inflist1 0 ;
# dec_one = cons2 1 dec_zero ;
# 
# dec_add =
#     y1 [f.[c.[a.[b.
#         [s.
#             cons2
#             (ifle4 s 9 s (10 pred s))
#             (f (ifle4 s 9 0 1) (cdr1 a) (cdr1 b))
#         ]
#         (c succ (car1 a) succ (car1 b))
#     ]]]]
# ;
# 
# dec_show =
#     20 [f.[a.
#         o1 (f (cdr1 a) ) (cons1 ({addconst 48} (car1 a)))
#     ]]
#     0
# ;
# 
# bin_todec =
#     54 [f.[m.[z.[a.
#         ifnz2 (car1 m)
#         (
#             ifnz2 (car1 a)
#             (f (dec_add 0 m m) (dec_add 0 z m) (cdr1 a))
#             (f (dec_add 0 m m) z (cdr1 a))
#         )
#         (
#             cons2 (car1 z) (f (cdr1 m) (cdr1 z) a)
#         )
#     ]]]]
#     [m.[z.[a. z ]]]
#     dec_one
#     dec_zero
# ;
# 
# bin_zero = inflist1 0 ;
# bin_one = cons2 1 bin_zero ;
# 
# bin_succ =
#     y1 [f.[a.
#         ifnz2 (car1 a)
#         (cons2 0 (f (cdr1 a)))
#         (cons2 1 (cdr1 a))
#     ]]
# ;
# 
# bin_from = [n. n bin_succ bin_zero ];
# 
# bin_add =
#     y1 [f.[c.[a.[b.
#         [s.
#             cons2
#             (ifeven1 s 0 1)
#             (f (ifle4 s 1 0 1) (cdr1 a) (cdr1 b))
#         ]
#         (c succ (car1 a) succ (car1 b))
#     ]]]]
# ;
# 
# bin_mul =
#     y1 [f.[a.[b.
#         [s.
#             ifnz2 (car1 b)
#             (cons2 (car1 a) (bin_add 0 (cdr1 a) s))
#             (cons2 0 s)
#         ]
#         (f a (cdr1 b))
#     ]]]
# ;
# 
# bin_pow = [a.[n. n (bin_mul a) bin_one ]];
# 
# bin_xor =
#     y1 [f.[a.[b.
#         cons2
#         (ifeven1 ((car1 a) succ (car1 b)) 0 1)
#         (f (cdr1 a) (cdr1 b))
#     ]]]
# ;
# 
# 20
# [f.
#     y1
#     [g.[p.[a.[b.[c.[r.
#         ifeq2 (car1 r) 10
#         (
#             [z.
#                 chopzeros $
#                 dec_show (bin_todec z)
#                 (cons2 (car1 r) (f (cdr1 r)))
#             ]
#             (
#                 bin_xor a
#                 (p (bin_pow b c) (bin_from c))
#             )
#         )
#         $
#         ifeq2 (car1 r) ?^
#         (
#             p
#             (g false (bin_xor a (bin_pow b c)) bin_zero)
#             (g true a (bin_from c))
#             0 (cdr1 r)
#         )
#         (
#             g p a b (48 pred (car1 r) succ (o1 10 c)) (cdr1 r)
#         )
#     ]]]]]]
#     false
#     bin_zero
#     bin_zero
#     0
# ]
# I


S(SSS)(SSI(SS0))(S`KSK)(S(S(S(S(S(S`K(SSI)(S`KS(S`KS(S`KK(S`SSKS(S`KK(S`KS(S
`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S`K`S`K`S`K`S`KS(S`K`S`K`S`K`S`K`S
`K`S(S(S(S(S(S(S(SI`KK)`K(SI`K0))`K(SS(SSSS(SS0))(S`KSK)(S`K`S(SI0)K)(S(SI`K
`K`K`KK)0)))`KK)0)0)`K0)(S`SSKS(S`KK(S`KS(S`KK(S`KS(S`KK(S`KS(S`KK(S`KS(S`K`
S`K`S`K(SS(SS(SS(SS(SSI)(SS0))))(S`KSK)(S`SSKS(S`K`S(S(S(S(SS`K`S`K`SI)`KK)`
K`KK)`K(S(SSSSSSSSS)(SS0)(S`KSK)(S`K`SIK)`K0))(S`SSKSK`K(SI`K0)))0)I)(S`K`S`
K`S(S`K(S(SSS)(SSI(SS0))(S`KSK)(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKSK`K(SI`K0))))
`K(S`SSKS(S`KK(S`KS(S`K`SI(S`KK(S`K(S(S(SSSSSSSSS)(SS0))S(S`KSK))(SI`KK)))))
)`KK))0)(S(SI(SS0))(SSI(SS(SS0)))(S`KSK)(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S(
S`KS(S`KK(S`KS(S`SI`KK))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K
`S`K`S`K`S(SI`KK)(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`KK
(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKSK`K(S(SSI`S`S`K(S`SSKS(S`KK(S`KS(S`K`S`KS(S`
K`S`K`S`K`S(S`KS(S`K`SI(S`KK(S(S(SI`K(S`K`SIK))K)(S`K(SSSS(SS0)(S`KSK)(S`K`S
IK))(S`KK(SS(SSSS(SS0))(S`KSK)(S(S(SI`K(S`K`SI(S`KK(SI`K`S(S`KSK)))))`K`K0)0
))))))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS
(S`SSKSK`K(S(S(SI`K(S`K`SIK))`K`K0)`K(SSSS(SS0)(S`KSK)(S`K`SIK)0)))))`K(S`KK
(SI`K0))))))`K`K(S`KK(SI`K0))))))))`K(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKS(S`SSKS
(S`KK(SI`K`S(S`KSK)))`K(SI`KK))`K`K`S(S`KSK))))`K`K(SI`KK)))I0)I))))`K(S`K`S
(SSI`S`S`K(S`SSKS(S`KK(S`KS(S`K`S`KS(S`K`S`K`S`K`S(S`KS(S`K`SI(S`KK(S(S(SI`K
(S`K`SIK))K)(S`K(SSSS(SS0)(S`KSK)(S`K`SIK))(S`KK(SS(SSSS(SS0))(S`KSK)(S(S(SI
`K(S`K`SI(S`KK(SI`K`S(S`KSK)))))`K`K0)0))))))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`
S`KS(S`K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS(S`SSKSK`K(S(S(SI`K(S`K`SIK))`K`K0)`K
(SSSS(SS0)(S`KSK)(S`K`SIK)0)))))`K(S`KK(SI`K0))))))`K`K(S`KK(SI`K0))))))))`K
(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKS(S`SSKS(S`KK(SI`K`S(S`KSK)))`K(SI`KK))`K`K`S
(S`KSK))))`K`K(SI`KK)))I0)K)))))`K`K`K(SI`K0))))))(S`SSKS(S`K`S`KS(S`K`S`K`S
`KS(S`K`S`K`S`KK(S`SSKSK`K(S(SSI`S`S`K(S`SSKS(S`KK(S`KS(S`K`S`KS(S`K`S`K`S`K
`S(S`KS(S`K`SI(S`KK(S(S(SI`K(S`K`SIK))K)(S`K(SSSS(SS0)(S`KSK)(S`K`SIK))(S`KK
(SS(SSSS(SS0))(S`KSK)(S(S(SI`K(S`K`SI(S`KK(SI`K`S(S`KSK)))))`K`K0)0))))))))(
S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS(S`SSKSK`
K(S(S(SI`K(S`K`SIK))`K`K0)`K(SSSS(SS0)(S`KSK)(S`K`SIK)0)))))`K(S`KK(SI`K0)))
)))`K`K(S`KK(SI`K0))))))))`K(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKS(S`SSKS(S`KK(SI`
K`S(S`KSK)))`K(SI`KK))`K`K`S(S`KSK))))`K`K(SI`KK)))I0)I)))))`K`K`K(SI`K0))))
)))(S`K`S`K`S(S`KS(S`KK(S`KS(S`K`SI(S`SI`KK)))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K
`S`KS(S`K`S`KK(S`SSKSK`K(SI`K0))))`K`K(SI`K0)))))`KK(S(SI0)`K(SSI`S`K`S(SI`K
0)(S`S`KKI)))(SSI`S`K`S(SI`K0)(S`S`KKI))))(S`K`S`KK(S`K`S(S`KS(S`K`SI(S`SI`K
K)))(S`K`S`KK(S`SSKSK`K(SI`K0)))))))))))))))`K(S`K`S`K`S`K`S`KK(S`K`S(S`KS(S
`KK(S`KS(S`KK(SSI`S`S`K(S`K`S(S`KS(S`K`S`KS(S`K`S`K`SI(S`K`S`KK(S`SSKS(S`SSK
S(S`SSKS(S`SSKS(S`SSKS(SS`S(SS`K(SISSKS))`KK)`K(SI`KK))`K`K(S(SI`K0)`KK))`K`
KK)`K`K0)`K0)))))(S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKSK`K(SI`K0))))`
K`K(SI`K0))))I)))))(S`KK(S`SSKS(S`K`S`KS(S`SSKS(S`KK(S`KSK))`K(S`SSKS(S`K`SI
(S`KK(SSI`S`S`K(S`K`S(S`KS(S`SSKS(S`K`S`KS(S`K`S(S`KS(S`SI`KK))(S`KK(S`K`S`K
K(S`SSKS(S`KK(S`KS(S`K`SI(S`SI`KK))))(S`K`S`KK(S`K(SSI`S`S`K(S`SSKS(S`KK(S`K
S(S`K`S`KS(S`K`S`K`S`K`S(S`KS(S`K`SI(S`KK(S(S(S(SI`K(S(SI`K0)`KK))`KK)`K0)0)
)))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS(S`SS
KSK`K(S(S(SI`K(S`K`SIK))`K`K0)`K(SI`K0)))))`K(S`KK(SI`K0))))))`K`K(S`KK(SI`K
0))))))))`K(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKS(S`SSKS(S`KK(SI`K`S(S`KSK)))`K(SI
`KK))`K`K`S(S`KSK))))`K`K(SI`KK)))I0)(SI`K0))))))))`K`K(S`K`S(SI`K0)K)))(S`S
SKS(S`K`S`KS`S`KK)`K`K(SI`K0)))I)))`K`K(S(SI0)`K(SSI`S`K`S(SI`K0)(S`S`KKI)))
)))`K`K(S(SI`K(SSI`S`S`K(S`SSKS(S`K`S(SI`KK)(S`K`S`KK(S`K`S`K`S(SI`K0)(S`K`S
`KK(S`SSKSK`K(SI`K0))))))`K(S`K`S(SI0)(S`KK(SI`K0))))I))`K(SSI`S`K`S(SI`K0)(
S`S`KKI)))))))))))))))`K(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S
`K`S`K`S`K`S`KS(S`K`S`K`S`K`S`K`S`K`S(S(S(S(S(S(S(SI`KK)`K(SI`K0))`K(SS(SS(S
S(SS(S(SSS)(SSSS(SS0))))))(S`KSK)(S`K`S(SI0)K)(S(SI`K`K`K`KK)0)))`KK)0)0)`K0
)(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S`K`S`K`S`K`S`KS(S`K`S`K
`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`SSKS(S`K`S`KS(
S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S(S`KS(S`KK(S`KS(S`KK(S`KSK)))))(S`KK(S`SS
KS(S`K`S`KS(S`K`S`K`S`KS(S`SSKS(S`KK(S`KS(S`KK(S`KS(S`KK(SI`K0))))))`K(S`SSK
S(S`KK(S`KS(S`KK(SSI`S`S`K(S`K`S(S`KS(S`K`S`KS(S`K`S`K`SI(S`K`S`KK(S`SSKS(S`
SSKS(S`SSKS(S`SSKS(S`SSKS(SS`S(SS`K(SISSKS))`KK)`K(SI`KK))`K`K(S(SI`K0)`KK))
`K`KK)`K`K0)`K0)))))(S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKSK`K(SI`K0))
))`K`K(SI`K0))))I))))`K(S`SSKS(S`K`SI(S`KK(SSI`S`S`K(S`K`S(S`KS(S`SSKS(S`K`S
`KS(S`K`S(S`KS(S`SI`KK))(S`KK(S`K`S`KK(S`SSKS(S`KK(S`KS(S`K`SI(S`SI`KK))))(S
`K`S`KK(S`K(SSI`S`S`K(S`SSKS(S`KK(S`KS(S`K`S`KS(S`K`S`K`S`K`S(S`KS(S`K`SI(S`
KK(S(S(S(SI`K(S(SI`K0)`KK))`KK)`K0)0))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`
K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS(S`SSKSK`K(S(S(SI`K(S`K`SIK))`K`K0)`K(SI`K0)
))))`K(S`KK(SI`K0))))))`K`K(S`KK(SI`K0))))))))`K(S`SSKS(S`K`S`KS(S`K`S`KK(S`
SSKS(S`SSKS(S`KK(SI`K`S(S`KSK)))`K(SI`KK))`K`K`S(S`KSK))))`K`K(SI`KK)))I0)(S
I`K0))))))))`K`K(S`K`S(SI`K0)K)))(S`SSKS(S`K`S`KS`S`KK)`K`K(SI`K0)))I)))`K`K
(S(SI0)`K(SSI`S`K`S(SI`K0)(S`S`KKI))))))))`K`K`K`K(SSI`S`K`S(SI`K0)(S`S`KKI)
)))))))(S`KK(S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(SI`KK)))`K`K(S(SI`K(SSI`S`S`K
(S`SSKS(S`K`S(SI`KK)(S`K`S`KK(S`K`S`K`S(SI`K0)(S`K`S`KK(S`SSKSK`K(SI`K0)))))
)`K(S`K`S(SI0)(S`KK(SI`K0))))I))`K(SSI`S`K`S(SI`K0)(S`S`KKI))))))))))`K`K`K`
K`K0))))))`K`K`K`K`K(SI`K0)))))))(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S
`KS(S`K`S`K`S`K`S`K`S`KS(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S
`K`S`K`S`KK(S`K`S`K`S`K`S`KS`S`K`S`K`S`KK)))))`K`K`K`K(S`K`S(S(S`K(S(SSSSSSS
SS)(SS0)(S`KSK)(S(S(SI`K(S`K`SI(S`KK(SI`K`S(S`KSK)))))`K`K0)0))(SI`KK))`K`S(
S`KSK))(S`KK`S`K(SS(SSSS(SS0))(S`KSK)))))))))`K`K`K`K`K(SI`K0))))))))0)`K0)`
K(SSI`S`K`S(SI`K0)(S`S`KKI)))`K(SSI`S`K`S(SI`K0)(S`S`KKI)))`K0)I

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

To protect the system from spam, please input your favorite sport (hint: I believe its name must start with 'g', case insensitive)

download

return to the top page