@neauoire i see he uses bruteforce to find his little programs : maybe you have already heard of relational programming, with this you can synthesize programs, run them backwards (you give the output, it gives the input), make a quine generator (you have write a uxn interpreter in a relational language, then you query for a program that evaluates to itself). There is a very nice paper about microkanren ( webyrd.net/scheme-2013/papers/ ), a (minimal) relational language you can implement yourself.