Jelly u
, \$4\times10^{41}\$ bytes
“...”WẈbØ%ỌV
Except instead of ...
its \$133390687877217192365177139021057049493695\$ Ɱ
characters
More specifically, a score of \$400172063631651577095531417063171148481103\$
How it works
The standard cat program in Jelly is
ƈȮøL¿
Try it online!
If we convert each of these characters to their Unicode code point we get
[392, 558, 248, 76, 191]
Treat this a base \$4294967296 = 2^{32}\$ number and convert it back to decimal to get \$133390687877217192365177139021057049493695\$
The above program has a string consisting of \$133390687877217192365177139021057049493695\$ Ɱ
characters. We then take its length, convert it to base \$4294967296\$, convert back to characters and run as Jelly code.
By forcing Jelly to encode the source as UTF-8 rather than using the Jelly code page, multi byte characters are counted as multiple bytes rather than just 1.
This is 100% irreducible. The cat program it encodes is optimal for Jelly, so there's no way to remove any of the Ɱ
characters and still create a cat program, and all of the other characters are necessary to correctly convert the string to a program and execute it. More specifically:
- Removing either
“
or ”
will cause syntax errors
- Removing the
W
will cause Ẉ
to return a list of lists of \$1\$s rather than the code points in base \$4294967296\$
- Removing the
Ẉ
will mean the program won't ever convert the string to the code points in base \$4294967296\$
- Removing any of
bØ%
will prevent the base conversion happening
- Removing
Ọ
or V
will stop the program from converting to characters and running the program
Furthermore, I believe this is the longest you can get using the method of "long string's length in a high base" in Jelly. The base being used must meet the following criteria:
- The number isn't "constructed" via commands to be larger, as these commands can be removed and the long string adjusted for the lower base
- The number doesn't have digits in it, as characters can be removed to just isolate the lowest digit and the long string can then be adjusted to match this new base
Ø%
is the largest constant Jelly has which meets these criteria at \$2^{32}\$, so, as a higher base leads to a longer string, an answer in Jelly cannot beat this one.