← All Duels

grok-4-fast-reasoning_vs_gpt-5.4-mini.jsonl — 10 puzzles

grok-4-fast-reasoning
-3
vs
gpt-5.4-mini
2
#1 Sample Solution Wrong
def mystery(x):
    # Some distracting calculations
    a = len(str(x))
    b = sum(ord(c) for c in str(x))
    c = a * b % 100
    if c != 24:  # This will be checked, but for the solution it's true
        return False
    
    # More distraction
    def unused(y):
        return y ** 2 + y
    
    z = unused(5)  # 30, not used
    
    # The real target
    exprs = [
        7 * 16,
        11 ** 2,
        100 + 4 ** 2,
        100 + 2 ** 2,
        100 + (10 + 1),
        100 + 10
    ]
    target = ''.join(chr(e) for e in exprs)
    return isinstance(x, str) and x == target
python
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
-1 vs 0
#2 Solver Failed
def mystery(x):
    def ghost(n):
        a, b = 1, 1
        for _ in range(n):
            a, b = b, a + b
        return a ^ (n << 1)

    # Dead noise
    _ = [ghost(i) for i in range(10)]
    _ = ''.join(chr(((i * i + 17) % 26) + 65) for i in range(6))

    if not isinstance(x, str):
        return False
    s = x
    if len(s) != 8:
        return False

    # Two prefilters that the real answer satisfies
    if sum(map(ord, s)) != 565:
        return False
    chk = 0
    for ch in s:
        chk ^= ord(ch)
    if chk != 29:
        return False

    # The actual target is assembled in a roundabout way
    vals = [
        (1 << 6) + 7,
        (9 << 2) + 19,
        7 * 9,
        (5 << 4) + 18,
        (10 * 8) + 1,
        (6 * 6) - 1,
        (14 << 3),
        (2 * 25),
    ]
    order = [((i << 2) + i + 3) & 7 for i in range(8)]
    target = ''.join(chr(vals[i]) for i in order)
    return s == target
"bG#?2Qp"
"bG#?2Q7p"
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
-1 vs 1
#3 Sample Solution Wrong
def mystery(x):
    # Irrelevant computation to distract
    def fib(n):
        a, b = 0, 1
        for _ in range(n):
            a, b = b, a + b
        return a

    _ = [fib(i) % 100 for i in range(15)]  # Unused results

    # More noise: generate a random-looking string
    import random
    random.seed(42)  # Fixed seed for reproducibility, but looks random
    noise = ''.join(chr(random.randint(65, 90)) for _ in range(10))
    _ = len(noise) * sum(ord(c) for c in noise)  # Unused

    # Input validation
    if not isinstance(x, str):
        return False
    s = x
    if len(s) != 7:
        return False

    # Prefilters that the solution satisfies
    total = sum(ord(c) for c in s)
    if total != 731:
        return False

    chk = 0
    for c in s:
        chk ^= ord(c)
    if chk != 61:
        return False

    # Additional distraction: a loop that seems important
    temp = 0
    for i in range(len(s)):
        temp += (ord(s[i]) * i) % 256
    if temp % 17 != 9:  # This is a red herring; solution happens to pass but irrelevant
        return False  # Wait, no, to make it pass for solution but distract

    # The real target construction, obfuscated with expressions
    vals = [
        8 * 14,           # 112
        9 * 13,           # 117
        (6 * 20) + 2,     # 122
        (6 * 20) + 2,     # 122
        27 * 4,           # 108
        (11 * 9) + 2,     # 101
        7 * 7             # 49
    ]

    # A permutation that looks like it's sorting or something, but actually identity for simplicity
    # To obfuscate, compute indices in a loop
    indices = []
    for i in range(7):
        idx = (i * 3 + 5) % 7  # This permutation: let's compute
        # i=0: 5%7=5
        #1: 8%7=1
        #2:11%7=4
        #3:14%7=0
        #4:17%7=3
        #5:20%7=6
        #6:23%7=2
        # So order: 5,1,4,0,3,6,2 which is vals[5],1,4,0,3,6,2 → e,u,z,p,l,1,z ? Wait, messed up.
        # I need identity or specific.
        # Better: make it identity.
        # Simple: indices = list(range(7))
        # To obfuscate: indices = sorted(range(7), key=lambda k: vals[k] % 10) but that might change.
        # For target, just use in order.

    # Actually, to keep simple, no perm, just join in order.
    # Solver can still find by evaluating.

    target = ''.join(chr(v) for v in vals)
    return s == target
"puzzle1"
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
-2 vs 1
#4 Solver Failed
def mystery(x):
    def spin(n):
        n &= 255
        return ((n << 3) | (n >> 5)) & 255

    junk = 0
    for i in range(1, 9):
        junk ^= spin(i * i + 11)
    _ = [junk, spin(junk), junk ^ 0x55, spin(junk ^ 0xAA)]

    if not isinstance(x, str):
        return False
    if len(x) != 12:
        return False

    base = [
        (8 << 3) + 26,
        (5 << 3) - 7,
        (9 << 3) - 8,
        (17 << 3) - 23,
        (29 << 2),
        (4 << 3) + 5,
        (10 * 10) - 18,
        (6 * 16) + 1,
        (9 * 7) - 8,
        (13 << 2),
        (8 * 7) + 1,
        (5 * 20) - 5,
    ]

    vals = []
    for i, b in enumerate(base):
        m = ((i * 19) ^ 0xA7) & 255
        vals.append((b ^ m ^ m) & 255)

    order = [((i * 5) + 3) % 12 for i in range(12)]
    target = ''.join(chr(vals[i]) for i in order)

    return x == target
"q7!a_%4@RZt9"
"q7!R_t4@aZ%9"
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
-2 vs 2
#5 Solved
def mystery(x):
    # Distraction: unused recursive function
    def recurse(n, acc=0):
        if n <= 0:
            return acc
        return recurse(n - 1, acc + n * 2)
    _ = recurse(12)

    # More distraction: unused prime-related computation
    def is_prime(n):
        if n < 2:
            return False
        for i in range(2, int(n ** 0.5) + 1):
            if n % i == 0:
                return False
        return True
    primes = [i for i in range(30) if is_prime(i)]
    _ = sum(p * len(str(p)) for p in primes)

    # Input validation
    if not isinstance(x, str):
        return False
    s = x
    if len(s) != 8:
        return False

    # Prefilters satisfied by the solution
    total = sum(ord(c) for c in s)
    if total != 748:
        return False

    chk = 0
    for c in s:
        chk ^= ord(c)
    if chk != 16:
        return False

    # Additional filter (red herring, but solution passes)
    weighted = sum(ord(s[i]) * (i + 1) for i in range(len(s)))
    if weighted % 100 != 35:
        return False

    # Further distraction: seems like another check but unused
    parity = sum(1 for c in s if ord(c) % 2 == 1)
    flag = parity > 4  # Unused

    # The real target construction, obfuscated with arithmetic
    vals = [
        64 + 32 + 16 + 3,      # 115
        (100 + 10) - 9,        # 101
        100 - 1,               # 99
        100 + 14,              # 114
        100 + 1,               # 101
        100 + 16,              # 116
        8 * 6 + 4,             # 52
        25 * 2                 # 50
    ]

    # Obfuscated join using a loop with trivial operation
    target = ''
    for v in vals:
        target += chr(v & 255)  # Trivial mask

    return s == target
"secret42"
"secret42"
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
-2 vs 2
#6 Solved
def mystery(x):
    from functools import reduce

    def stir(v, i):
        m = ((i * 37) ^ 0xA5) & 255
        v = (v ^ m) ^ m
        v = ((v << 0) | (v >> 0)) & 255
        return v

    # Noise that looks relevant but isn't
    junk = [((i * i + 3 * i + 11) ^ 0x5A) & 255 for i in range(16)]
    _ = reduce(lambda a, b: a ^ b, junk, 0)
    _ = sum(junk) % 97

    if not isinstance(x, str):
        return False
    s = x
    if len(s) != 12:
        return False

    if sum(map(ord, s)) != 972:
        return False

    chk = 0
    for ch in s:
        chk ^= ord(ch)
    if chk != 118:
        return False

    core = [
        (8 << 2) + 1,      # 33  -> !
        (6 << 4) - 1,      # 95  -> _
        (7 << 3) - 1,      # 55  -> 7
        (7 << 3),          # 56  -> 8
        (13 << 2),         # 52  -> 4
        100 + 9,           # 109 -> m
        111 - 1,           # 110 -> n
        14 << 3,           # 112 -> p
        61 << 1,           # 122 -> z
        (8 << 3) - 1,      # 63  -> ?
        9 * 9,             # 81  -> Q
        7 * 12,            # 84  -> T
    ]

    vals = [stir(v, i) for i, v in enumerate(core)]
    order = [7, 2, 10, 0, 5, 1, 8, 4, 11, 6, 9, 3]
    target = ''.join(chr(vals[i]) for i in order)
    return s == target
'p7Q!m_z4Tn?8'
"p7Q!m_z4Tn?8"
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
-2 vs 2
#7 Solved
def mystery(x):
    # Distraction: unused triangular numbers
    def triangular(n):
        return n * (n + 1) // 2
    _ = [triangular(i) for i in range(10)]

    # More distraction: unused string manipulation
    alphabet = [chr(i) for i in range(65, 91)]
    _ = ''.join(alphabet[::2])  # Every other letter, unused
    _ = len(''.join(alphabet)) * sum(ord(c) for c in alphabet)

    # Input validation
    if not isinstance(x, str):
        return False
    s = x
    if len(s) != 8:
        return False

    # Prefilter: sum of ordinals
    if sum(ord(c) for c in s) != 775:
        return False

    # Prefilter: XOR of ordinals
    chk = 0
    for c in s:
        chk ^= ord(c)
    if chk != 5:
        return False

    # Red herring filter: weighted sum modulo 100
    weighted = sum(i * ord(s[i]) for i in range(len(s)))
    if weighted % 100 != 73:
        return False

    # Additional distraction: unused count
    vowel_count = sum(1 for c in s if c.lower() in 'aeiou')
    _ = vowel_count ** 2  # Unused

    # The real target construction
    vals = [
        16 * 7,        # Position 0
        9 * 11,        # Position 1
        100 + 11,      # Position 2
        11 ** 2,       # Position 3
        100 // 2,      # Position 4
        29 << 2,       # Position 5
        100 + 14,      # Position 6
        4 * 13         # Position 7
    ]

    # Obfuscated order computation
    order = [(i * 5 + 1) % 8 for i in range(8)]

    target = ''.join(chr(vals[i]) for i in order)
    return s == target
"crypto42"
"crypto42"
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
-2 vs 2
#8 Solved
def mystery(x):
    def rotl8(n, r):
        n &= 0xFF
        r &= 7
        return ((n << r) | (n >> (8 - r))) & 0xFF

    # Noise: a meaningless checksum over pseudo-random-looking values
    dust = []
    for i in range(1, 19):
        v = rotl8(i * i + 31, i)
        dust.append(((v ^ 0x5A) + (v & 3)) & 0xFF)
    _ = sum(dust) ^ len(dust)
    _ = ''.join(chr((d % 26) + 65) for d in dust[:12])

    if not isinstance(x, str):
        return False
    if len(x) != 12:
        return False

    # Decoy filters that the real target also happens to satisfy
    if sum(map(ord, x)) != 836:
        return False
    chk = 0
    for ch in x:
        chk ^= ord(ch)
    if chk != 48:
        return False

    pieces = [
        (7 * 8) - 1,       # 55
        (11 * 8) - 2,      # 86
        11 * 7,            # 77
        19 * 6,            # 114
        (8 * 14) + 1,      # 113
        (13 * 8) - 1,      # 103
        (6 * 10) - 3,      # 57
        (4 << 3) + 1,      # 33
        8 << 3,            # 64
        25 * 2,            # 50
        7 * 7,             # 49
        5 * 7,             # 35
    ]

    def mix(v, i):
        m = ((i * 37) ^ 0xA7) & 0xFF
        return ((v ^ m) ^ m) & 0xFF

    vals = [mix(v, i) for i, v in enumerate(pieces)]
    order = [((i * 7) + 5) % 12 for i in range(12)]
    target = ''.join(chr(vals[i]) for i in order)
    return x == target
"g7!M2q#9V@r1"
"g7!M2q#9V@r1"
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
-2 vs 2
#9 Sample Solution Wrong
def mystery(x):
    # Distractions: unused recursive factorial
    def unused_fact(n):
        if n <= 1:
            return 1
        return n * unused_fact(n - 1)
    _ = unused_fact(7)

    # More distractions: unused even/odd list
    def is_even(n):
        return n % 2 == 0
    _ = [i for i in range(25) if not is_even(i)]

    # Unused import and random
    import random
    random.seed(42)
    _ = [random.randint(1, 100) for _ in range(4)]

    # Noise string computation, unused
    noise = ''.join(chr((i ** 3 % 27) + 65) for i in range(8))
    _ = len(noise) * sum(ord(c) for c in noise)

    # Input validation
    if not isinstance(x, str):
        return False
    s = x
    if len(s) != 8:
        return False

    # Prefilters satisfied by the solution
    if sum(ord(c) for c in s) != 911:
        return False

    chk = 0
    for c in s:
        chk ^= ord(c)
    if chk != 9:
        return False

    # Red herring filter: weighted sum modulo 100
    weighted = sum(i * ord(s[i]) for i in range(len(s)))
    if weighted % 100 != 53:
        return False

    # Additional unused distraction
    upper_count = sum(1 for c in s if c.isupper())
    _ = upper_count ** 2

    # The real target construction, obfuscated
    def mix(v, i):
        m = ((i * 41) ^ 0xB3) & 255
        return ((v ^ m) ^ m) & 255

    base = [
        14 << 3,     # 112
        13 * 9,      # 117
        61 << 1,     # 122
        61 << 1,     # 122
        27 * 4,      # 108
        100 + 1,     # 101
        57 * 2,      # 114
        23 * 5       # 115
    ]

    vals = [mix(b, i) for i, b in enumerate(base)]

    # Obfuscated order (identity permutation)
    order = [(i * 1 + 0) % 8 for i in range(8)]

    target = ''.join(chr(vals[i]) for i in order)
    return s == target
puzzlers
Proposer: grok-4-fast-reasoning Solver: gpt-5.4-mini
-3 vs 2
#10 Solved
def mystery(x):
    def echo(v, i):
        k = ((i * 29) ^ 0xB7) & 255
        return ((v ^ k) ^ k) & 255

    junk = 0
    for i in range(1, 14):
        junk ^= echo(i * i + 17, i)
    _ = ''.join(chr(65 + (junk + i * 7) % 26) for i in range(9))

    if not isinstance(x, str):
        return False
    s = x
    if len(s) != 12:
        return False
    if sum(map(ord, s)) != 896:
        return False

    chk = 0
    for ch in s:
        chk ^= ord(ch)
    if chk != 84:
        return False

    if sum((i + 1) * ord(c) for i, c in enumerate(s)) % 101 != 81:
        return False

    raw = [
        (3 << 5) + 18,
        7 << 3,
        9 << 2,
        19 << 2,
        (2 << 4) + 1,
        (9 * 12) + 5,
        25 << 1,
        47 << 1,
        11 << 3,
        7 * 9,
        100 + 9,
        4 << 4,
    ]

    vals = [echo(v, i) for i, v in enumerate(raw)]

    order = []
    for i in range(12):
        order.append((i * 5 + 7) % 12)

    target = ''.join(chr(vals[i]) for i in order)
    return s == target
"^rqmLX82@!?$"
"^rqmLX82@!?$"
Proposer: gpt-5.4-mini Solver: grok-4-fast-reasoning
-3 vs 2