Sample
Dorn/cuda/84
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 1.4Δ 1.1 |
| Scalabrino | 0.296 | 0–1; higher is more readable | 20.9Δ 18.4 |
| Dorn | 0.025 | 0–1; higher is more readable | 3.6Δ 1.1 |
| Mi | 0.146 | 0–1; higher is more readable | 14.8Δ 12.3 |
| LLOC | 42 | Logical lines; fewer is more readable | 0.1Δ 2.4 |
| DeepSeek V4 Pro | 5 | 0–20; mean of three runs | 10.9Δ 8.4 |
| GPT-6.1 Sol | 9 | 0–20; mean of three runs | 6.4Δ 3.9 |
| BTTF | 0.077 | 0–1; higher is more readable | 1.7Δ 0.8 |
| Human | 1.95 | 1–5; original rating | 2.5 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 3504.989 | −115.665 |
| Source linesThe number of non-empty source lines. | 50 | +20 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 5.077 | −7.616 |
Intercept 8.87 + feature contributions = -94.411 (log-odds).
Score = sigmoid(-94.411) = 0.
| Score | 0.296 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names. | 148 | −2.604 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 50 | +0.992 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 51 | −0.769 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 50 | −0.727 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 49.852 | +0.287 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.11 | −0.127 |
Intercept 0.07 + feature contributions = -3.681 (log-odds).
Score = sigmoid(-3.681) = 0.025.
| Score | 0.146 |
|---|
| Score | 42 |
|---|
Run 1
The code is extremely difficult to read due to severe structural problems. It appears to be a macro expansion fragment with dangling backslash continuations, making it look like raw preprocessor output rather than readable source. The lack of proper function boundaries, parameter definitions, and indentation destroys logical organization. Variables like a, b, c, d, e and b0-b15 provide zero semantic meaning about their purpose. Action granularity is poor - multiple statements are crammed onto single lines with backslash separators. The deeply nested conditional logic and repetitive array indexing patterns like 'SHA1_Candidate_Device_Chain_Length' create visual noise. Long unbroken chains of parameters to functions like reduceSingleCharsetNormal and SHA_TRANSFORM overwhelm the reader. The magic numbers and hardcoded constants scattered throughout make the intent opaque. Reading flow is completely destroyed by the macro-style formatting. While some attempts at consistent naming exist (SHA1_Candidate_Device_*), the overall presentation is barely above machine code readability.
Run 2
This code is extremely difficult to read due to severe structural problems. The macro-based approach with backslash continuations creates a wall of text that obscures the actual logic flow. There is deep nesting with multiple conditional branches and loops, making it hard to track execution paths. The intent is unclear - variables like a, b, c, d, e are cryptically named, and the SHA1 operations are opaque without context. While individual operations are somewhat granular, multiple statements are crammed onto single lines using semicolons, violating the one-action-per-line principle. The reading flow is completely disrupted by the macro expansion pattern and lack of visual organization. The code appears to be performance-optimized GPU kernel code, but this comes at the cost of maintainability and comprehension. The repeated macro instantiations at the bottom add confusion rather than clarity.
Run 3
This code is a C/C++ macro expansion for CUDA kernels, likely generated or heavily macro-driven. Structure is repetitive and flat but disorganized: macro context obscures logic, braces and backslashes clutter reading. Nesting is shallow but conditional statements are cramped on single lines. Clarity of intent is poor—variable names are abbreviated (a, b, c, d, e, b0–b15) and operations like SHA_TRANSFORM, clearB0toB15, and reverse() are used without context. Code length is verbose due to repeated multiplications for array indexing and explicit variable lists. Action granularity is mixed: several operations are jammed onto one line (e.g., b15 assignment, reverse assignments). Reading flow is unnatural; the macro expansion with trailing backslashes breaks normal code reading. Without surrounding macro definitions, this is hard to follow and maintain.
Run 1
Code Structure: Initialization, chain iteration, and output storage are logically grouped, but the incomplete macro fragment obscures overall organization. Nesting: Mostly shallow, with only a conditional inside the loop. Clarity of intent: SHA1 processing and chain progression are recognizable, but terse variables, opaque helpers, and uncommented bit manipulation require specialist knowledge. Code length: Repeated array indexing and lengthy argument lists add visual bulk, although macro-generated kernels reduce duplication. Action granularity: Most lines perform one action, but five reverse assignments are compressed onto one line. Reading flow: Execution proceeds sequentially, but macro continuation backslashes, inconsistent spacing, long lines, and the truncated function declaration interrupt readability.
Run 2
Code Structure: Initialization, iteration, and output storage form logical phases, but the partial macro and unfinished function obscure boundaries. Nesting: Mostly shallow, with simple conditionals inside one loop. Clarity of intent: SHA1-related names suggest the purpose, but single-letter state variables, unexplained bit manipulation, and lengthy argument lists require domain knowledge. Code length: Repetitive array accesses and parameter lists make the snippet verbose. Action granularity: Most lines perform one action, but five reverse assignments share a single line. Reading flow: Execution proceeds sequentially, yet macro continuation backslashes, inconsistent spacing, long lines, and abrupt transitions to kernel generation and an incomplete launcher interrupt readability.
Run 3
Code Structure: Initialization, step bounds, hashing loop, and output storage form a logical sequence, but the incomplete macro fragment obscures the overall organization. Nesting: Mostly shallow, with simple conditionals inside one loop. Clarity of intent: SHA1 operations and descriptive step variables suggest the purpose, but single-letter state variables, unexplained bit manipulation, and long argument lists make details difficult to understand. Code length: Repetitive array accesses and buffer arguments add substantial visual bulk. Action granularity: Most lines perform one action, but five reversal assignments are compressed onto one line. Reading flow: Indentation and sequential processing help, while macro continuation backslashes, inconsistent spacing, long lines, and abruptly truncated function context interrupt reading.