--[[
fn _ =>
let id = fn x => x in
let const = fn x => fn _ => x in
let operator>> = fn f => fn g => fn x => g (f x) in
(id >> const >> id) 42 12
--]]
function _styx_builtin_if(c)
return function(t)
return function(f)
if c then
return t()
else
return f()
end
end
end
end
f32 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = p
local v15 = {
c1 = v1,
c2 = v2,
c3 = v3,
}
setmetatable(v15, f14)
local v29 = {
c1 = v1,
c2 = v2,
c3 = v3,
}
setmetatable(v29, f28)
local v30 = v15(v29)
return v30
end
}
f37 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v34 = self['c34']
local v35 = p
return v34
end
}
f40 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v34 = p
local v38 = {
c1 = v1,
c2 = v2,
c34 = v34,
}
setmetatable(v38, f37)
return v38
end
}
f25 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
local v16 = self['c16']
local v17 = p
local v23 = {
c16 = v16,
c2 = v2,
c3 = v3,
c17 = v17,
c1 = v1,
}
setmetatable(v23, f22)
return v23
end
}
f14 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
local v4 = p
local v5 = v4(v2)
local v6 = v5(v3)
local v7 = v4(v6)
local v8 = v7(v2)
local v9 = 42
local v10 = v8(v9)
local v11 = 12
local v12 = v10(v11)
return v12
end
}
f22 = {
__call = function(self, p)
local v16 = self['c16']
local v2 = self['c2']
local v3 = self['c3']
local v17 = self['c17']
local v1 = self['c1']
local v18 = p
local v19 = v16(v18)
local v20 = v17(v19)
return v20
end
}
f28 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
local v16 = p
local v26 = {
c1 = v1,
c2 = v2,
c3 = v3,
c16 = v16,
}
setmetatable(v26, f25)
return v26
end
}
f52 = {
__call = function(self, p)
local v1 = p
local v45 = {
c1 = v1,
}
setmetatable(v45, f44)
local v49 = {
c1 = v1,
}
setmetatable(v49, f48)
local v50 = v45(v49)
return v50
end
}
f48 = {
__call = function(self, p)
local v1 = self['c1']
local v46 = p
return v46
end
}
f44 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = p
local v33 = {
c1 = v1,
c2 = v2,
}
setmetatable(v33, f32)
local v41 = {
c1 = v1,
c2 = v2,
}
setmetatable(v41, f40)
local v42 = v33(v41)
return v42
end
}
local main = {}
setmetatable(main, f52)
print(main(nil))
LS1bWwpmbiBfID0+CiAgICBsZXQgaWQgPSBmbiB4ID0+IHggaW4KICAgIGxldCBjb25zdCA9IGZuIHggPT4gZm4gXyA9PiB4IGluCiAgICBsZXQgb3BlcmF0b3I+PiA9IGZuIGYgPT4gZm4gZyA9PiBmbiB4ID0+IGcgKGYgeCkgaW4KICAgIChpZCA+PiBjb25zdCA+PiBpZCkgNDIgMTIKLS1dXQpmdW5jdGlvbiBfc3R5eF9idWlsdGluX2lmKGMpCiAgICByZXR1cm4gZnVuY3Rpb24odCkKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZikKICAgICAgICAgICAgaWYgYyB0aGVuCiAgICAgICAgICAgICAgICByZXR1cm4gdCgpCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHJldHVybiBmKCkKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKZW5kCmYzMiA9IHsKICAgIF9fY2FsbCA9IGZ1bmN0aW9uKHNlbGYsIHApCiAgICAgICAgbG9jYWwgdjEgPSBzZWxmWydjMSddCiAgICAgICAgbG9jYWwgdjIgPSBzZWxmWydjMiddCiAgICAgICAgbG9jYWwgdjMgPSBwCiAgICAgICAgbG9jYWwgdjE1ID0gewogICAgICAgICAgICBjMSA9IHYxLAogICAgICAgICAgICBjMiA9IHYyLAogICAgICAgICAgICBjMyA9IHYzLAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjE1LCBmMTQpCiAgICAgICAgbG9jYWwgdjI5ID0gewogICAgICAgICAgICBjMSA9IHYxLAogICAgICAgICAgICBjMiA9IHYyLAogICAgICAgICAgICBjMyA9IHYzLAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjI5LCBmMjgpCiAgICAgICAgbG9jYWwgdjMwID0gdjE1KHYyOSkKICAgICAgICByZXR1cm4gdjMwCiAgICBlbmQKfQpmMzcgPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYzNCA9IHNlbGZbJ2MzNCddCiAgICAgICAgbG9jYWwgdjM1ID0gcAogICAgICAgIHJldHVybiB2MzQKICAgIGVuZAp9CmY0MCA9IHsKICAgIF9fY2FsbCA9IGZ1bmN0aW9uKHNlbGYsIHApCiAgICAgICAgbG9jYWwgdjEgPSBzZWxmWydjMSddCiAgICAgICAgbG9jYWwgdjIgPSBzZWxmWydjMiddCiAgICAgICAgbG9jYWwgdjM0ID0gcAogICAgICAgIGxvY2FsIHYzOCA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICAgICAgYzM0ID0gdjM0LAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjM4LCBmMzcpCiAgICAgICAgcmV0dXJuIHYzOAogICAgZW5kCn0KZjI1ID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2MyA9IHNlbGZbJ2MzJ10KICAgICAgICBsb2NhbCB2MTYgPSBzZWxmWydjMTYnXQogICAgICAgIGxvY2FsIHYxNyA9IHAKICAgICAgICBsb2NhbCB2MjMgPSB7CiAgICAgICAgICAgIGMxNiA9IHYxNiwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICAgICAgYzMgPSB2MywKICAgICAgICAgICAgYzE3ID0gdjE3LAogICAgICAgICAgICBjMSA9IHYxLAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjIzLCBmMjIpCiAgICAgICAgcmV0dXJuIHYyMwogICAgZW5kCn0KZjE0ID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2MyA9IHNlbGZbJ2MzJ10KICAgICAgICBsb2NhbCB2NCA9IHAKICAgICAgICBsb2NhbCB2NSA9IHY0KHYyKQogICAgICAgIGxvY2FsIHY2ID0gdjUodjMpCiAgICAgICAgbG9jYWwgdjcgPSB2NCh2NikKICAgICAgICBsb2NhbCB2OCA9IHY3KHYyKQogICAgICAgIGxvY2FsIHY5ID0gNDIKICAgICAgICBsb2NhbCB2MTAgPSB2OCh2OSkKICAgICAgICBsb2NhbCB2MTEgPSAxMgogICAgICAgIGxvY2FsIHYxMiA9IHYxMCh2MTEpCiAgICAgICAgcmV0dXJuIHYxMgogICAgZW5kCn0KZjIyID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MTYgPSBzZWxmWydjMTYnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYzID0gc2VsZlsnYzMnXQogICAgICAgIGxvY2FsIHYxNyA9IHNlbGZbJ2MxNyddCiAgICAgICAgbG9jYWwgdjEgPSBzZWxmWydjMSddCiAgICAgICAgbG9jYWwgdjE4ID0gcAogICAgICAgIGxvY2FsIHYxOSA9IHYxNih2MTgpCiAgICAgICAgbG9jYWwgdjIwID0gdjE3KHYxOSkKICAgICAgICByZXR1cm4gdjIwCiAgICBlbmQKfQpmMjggPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYzID0gc2VsZlsnYzMnXQogICAgICAgIGxvY2FsIHYxNiA9IHAKICAgICAgICBsb2NhbCB2MjYgPSB7CiAgICAgICAgICAgIGMxID0gdjEsCiAgICAgICAgICAgIGMyID0gdjIsCiAgICAgICAgICAgIGMzID0gdjMsCiAgICAgICAgICAgIGMxNiA9IHYxNiwKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHYyNiwgZjI1KQogICAgICAgIHJldHVybiB2MjYKICAgIGVuZAp9CmY1MiA9IHsKICAgIF9fY2FsbCA9IGZ1bmN0aW9uKHNlbGYsIHApCiAgICAgICAgbG9jYWwgdjEgPSBwCiAgICAgICAgbG9jYWwgdjQ1ID0gewogICAgICAgICAgICBjMSA9IHYxLAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjQ1LCBmNDQpCiAgICAgICAgbG9jYWwgdjQ5ID0gewogICAgICAgICAgICBjMSA9IHYxLAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjQ5LCBmNDgpCiAgICAgICAgbG9jYWwgdjUwID0gdjQ1KHY0OSkKICAgICAgICByZXR1cm4gdjUwCiAgICBlbmQKfQpmNDggPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHY0NiA9IHAKICAgICAgICByZXR1cm4gdjQ2CiAgICBlbmQKfQpmNDQgPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gcAogICAgICAgIGxvY2FsIHYzMyA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHYzMywgZjMyKQogICAgICAgIGxvY2FsIHY0MSA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHY0MSwgZjQwKQogICAgICAgIGxvY2FsIHY0MiA9IHYzMyh2NDEpCiAgICAgICAgcmV0dXJuIHY0MgogICAgZW5kCn0KCmxvY2FsIG1haW4gPSB7fQpzZXRtZXRhdGFibGUobWFpbiwgZjUyKQoKcHJpbnQobWFpbihuaWwpKQ==