--[[
fn _ =>
let id = fn x => x in
let const = fn x => fn _ => x in
let compose = fn f => fn g => fn x => f (g x) in
compose id const 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
f12 = {
__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 = 42
local v8 = v6(v7)
local v9 = 12
local v10 = v8(v9)
return v10
end
}
f46 = {
__call = function(self, p)
local v1 = self['c1']
local v44 = p
return v44
end
}
f23 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
local v14 = self['c14']
local v15 = p
local v21 = {
c14 = v14,
c2 = v2,
c3 = v3,
c15 = v15,
c1 = v1,
}
setmetatable(v21, f20)
return v21
end
}
f30 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = p
local v13 = {
c1 = v1,
c2 = v2,
c3 = v3,
}
setmetatable(v13, f12)
local v27 = {
c1 = v1,
c2 = v2,
c3 = v3,
}
setmetatable(v27, f26)
local v28 = v13(v27)
return v28
end
}
f20 = {
__call = function(self, p)
local v14 = self['c14']
local v2 = self['c2']
local v3 = self['c3']
local v15 = self['c15']
local v1 = self['c1']
local v16 = p
local v17 = v15(v16)
local v18 = v14(v17)
return v18
end
}
f50 = {
__call = function(self, p)
local v1 = p
local v43 = {
c1 = v1,
}
setmetatable(v43, f42)
local v47 = {
c1 = v1,
}
setmetatable(v47, f46)
local v48 = v43(v47)
return v48
end
}
f42 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = p
local v31 = {
c1 = v1,
c2 = v2,
}
setmetatable(v31, f30)
local v39 = {
c1 = v1,
c2 = v2,
}
setmetatable(v39, f38)
local v40 = v31(v39)
return v40
end
}
f38 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v32 = p
local v36 = {
c1 = v1,
c2 = v2,
c32 = v32,
}
setmetatable(v36, f35)
return v36
end
}
f35 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v32 = self['c32']
local v33 = p
return v32
end
}
f26 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
local v14 = p
local v24 = {
c1 = v1,
c2 = v2,
c3 = v3,
c14 = v14,
}
setmetatable(v24, f23)
return v24
end
}
local main = {}
setmetatable(main, f50)
print(main(nil))
LS1bWwpmbiBfID0+CiAgICBsZXQgaWQgPSBmbiB4ID0+IHggaW4KICAgIGxldCBjb25zdCA9IGZuIHggPT4gZm4gXyA9PiB4IGluCiAgICBsZXQgY29tcG9zZSA9IGZuIGYgPT4gZm4gZyA9PiBmbiB4ID0+IGYgKGcgeCkgaW4KICAgIGNvbXBvc2UgaWQgY29uc3QgNDIgMTIKLS1dXQpmdW5jdGlvbiBfc3R5eF9idWlsdGluX2lmKGMpCiAgICByZXR1cm4gZnVuY3Rpb24odCkKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZikKICAgICAgICAgICAgaWYgYyB0aGVuCiAgICAgICAgICAgICAgICByZXR1cm4gdCgpCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHJldHVybiBmKCkKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKZW5kCmYxMiA9IHsKICAgIF9fY2FsbCA9IGZ1bmN0aW9uKHNlbGYsIHApCiAgICAgICAgbG9jYWwgdjEgPSBzZWxmWydjMSddCiAgICAgICAgbG9jYWwgdjIgPSBzZWxmWydjMiddCiAgICAgICAgbG9jYWwgdjMgPSBzZWxmWydjMyddCiAgICAgICAgbG9jYWwgdjQgPSBwCiAgICAgICAgbG9jYWwgdjUgPSB2NCh2MikKICAgICAgICBsb2NhbCB2NiA9IHY1KHYzKQogICAgICAgIGxvY2FsIHY3ID0gNDIKICAgICAgICBsb2NhbCB2OCA9IHY2KHY3KQogICAgICAgIGxvY2FsIHY5ID0gMTIKICAgICAgICBsb2NhbCB2MTAgPSB2OCh2OSkKICAgICAgICByZXR1cm4gdjEwCiAgICBlbmQKfQpmNDYgPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHY0NCA9IHAKICAgICAgICByZXR1cm4gdjQ0CiAgICBlbmQKfQpmMjMgPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYzID0gc2VsZlsnYzMnXQogICAgICAgIGxvY2FsIHYxNCA9IHNlbGZbJ2MxNCddCiAgICAgICAgbG9jYWwgdjE1ID0gcAogICAgICAgIGxvY2FsIHYyMSA9IHsKICAgICAgICAgICAgYzE0ID0gdjE0LAogICAgICAgICAgICBjMiA9IHYyLAogICAgICAgICAgICBjMyA9IHYzLAogICAgICAgICAgICBjMTUgPSB2MTUsCiAgICAgICAgICAgIGMxID0gdjEsCiAgICAgICAgfQogICAgICAgIHNldG1ldGF0YWJsZSh2MjEsIGYyMCkKICAgICAgICByZXR1cm4gdjIxCiAgICBlbmQKfQpmMzAgPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYzID0gcAogICAgICAgIGxvY2FsIHYxMyA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICAgICAgYzMgPSB2MywKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHYxMywgZjEyKQogICAgICAgIGxvY2FsIHYyNyA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICAgICAgYzMgPSB2MywKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHYyNywgZjI2KQogICAgICAgIGxvY2FsIHYyOCA9IHYxMyh2MjcpCiAgICAgICAgcmV0dXJuIHYyOAogICAgZW5kCn0KZjIwID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MTQgPSBzZWxmWydjMTQnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYzID0gc2VsZlsnYzMnXQogICAgICAgIGxvY2FsIHYxNSA9IHNlbGZbJ2MxNSddCiAgICAgICAgbG9jYWwgdjEgPSBzZWxmWydjMSddCiAgICAgICAgbG9jYWwgdjE2ID0gcAogICAgICAgIGxvY2FsIHYxNyA9IHYxNSh2MTYpCiAgICAgICAgbG9jYWwgdjE4ID0gdjE0KHYxNykKICAgICAgICByZXR1cm4gdjE4CiAgICBlbmQKfQpmNTAgPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gcAogICAgICAgIGxvY2FsIHY0MyA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHY0MywgZjQyKQogICAgICAgIGxvY2FsIHY0NyA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHY0NywgZjQ2KQogICAgICAgIGxvY2FsIHY0OCA9IHY0Myh2NDcpCiAgICAgICAgcmV0dXJuIHY0OAogICAgZW5kCn0KZjQyID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHAKICAgICAgICBsb2NhbCB2MzEgPSB7CiAgICAgICAgICAgIGMxID0gdjEsCiAgICAgICAgICAgIGMyID0gdjIsCiAgICAgICAgfQogICAgICAgIHNldG1ldGF0YWJsZSh2MzEsIGYzMCkKICAgICAgICBsb2NhbCB2MzkgPSB7CiAgICAgICAgICAgIGMxID0gdjEsCiAgICAgICAgICAgIGMyID0gdjIsCiAgICAgICAgfQogICAgICAgIHNldG1ldGF0YWJsZSh2MzksIGYzOCkKICAgICAgICBsb2NhbCB2NDAgPSB2MzEodjM5KQogICAgICAgIHJldHVybiB2NDAKICAgIGVuZAp9CmYzOCA9IHsKICAgIF9fY2FsbCA9IGZ1bmN0aW9uKHNlbGYsIHApCiAgICAgICAgbG9jYWwgdjEgPSBzZWxmWydjMSddCiAgICAgICAgbG9jYWwgdjIgPSBzZWxmWydjMiddCiAgICAgICAgbG9jYWwgdjMyID0gcAogICAgICAgIGxvY2FsIHYzNiA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICAgICAgYzMyID0gdjMyLAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjM2LCBmMzUpCiAgICAgICAgcmV0dXJuIHYzNgogICAgZW5kCn0KZjM1ID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2MzIgPSBzZWxmWydjMzInXQogICAgICAgIGxvY2FsIHYzMyA9IHAKICAgICAgICByZXR1cm4gdjMyCiAgICBlbmQKfQpmMjYgPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYzID0gc2VsZlsnYzMnXQogICAgICAgIGxvY2FsIHYxNCA9IHAKICAgICAgICBsb2NhbCB2MjQgPSB7CiAgICAgICAgICAgIGMxID0gdjEsCiAgICAgICAgICAgIGMyID0gdjIsCiAgICAgICAgICAgIGMzID0gdjMsCiAgICAgICAgICAgIGMxNCA9IHYxNCwKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHYyNCwgZjIzKQogICAgICAgIHJldHVybiB2MjQKICAgIGVuZAp9Cgpsb2NhbCBtYWluID0ge30Kc2V0bWV0YXRhYmxlKG1haW4sIGY1MCkKCnByaW50KG1haW4obmlsKSk=