Sample
Dorn/cuda/83
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.004 | 0–1; higher is more readable | 65.5Δ 33.4 |
| Scalabrino | 0.863 | 0–1; higher is more readable | 92.6Δ 60.6 |
| Dorn | 0.761 | 0–1; higher is more readable | 72.4Δ 40.4 |
| Mi | 0.679 | 0–1; higher is more readable | 78.0Δ 46.0 |
| LLOC | 30 | Logical lines; fewer is more readable | 11.4Δ 20.6 |
| DeepSeek V4 Pro | 14.33 | 0–20; mean of three runs | 69.9Δ 37.9 |
| GPT-6.1 Sol | 16.33 | 0–20; mean of three runs | 70.8Δ 38.7 |
| BTTF | 0.915 | 0–1; higher is more readable | 99.7Δ 67.7 |
| Human | 3.03 | 1–5; original rating | 32.0 |
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. | 605.327 | −19.976 |
| Source linesThe number of non-empty source lines. | 30 | +12 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 4.233 | −6.35 |
Intercept 8.87 + feature contributions = -5.456 (log-odds).
Score = sigmoid(-5.456) = 0.004.
| Score | 0.863 |
|---|
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. | 31 | +2.352 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 0 | −0.41 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.065 | +0.315 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 31 | −0.061 |
Intercept 0.07 + feature contributions = 1.157 (log-odds).
Score = sigmoid(1.157) = 0.761.
| Score | 0.679 |
|---|
| Score | 30 |
|---|
Run 1
The code is highly structured and repetitive, following a clear pattern of macro invocations. Each line performs a single action (one macro call), resulting in flat, non-nested code with excellent action granularity. The intent is unambiguous: generate multiple MD5 CUDA kernel variants for lengths 19 through 48. However, the heavy reliance on a macro obscures the underlying implementation details, and the repetitive nature makes the code feel verbose despite its conciseness per line. The reading flow is linear and predictable, but the lack of context or explanatory comments slightly reduces clarity for someone unfamiliar with the macro's purpose. Overall, the code is readable but could benefit from a brief comment or a loop-based alternative if the macro supports it.
Run 2
The code is highly structured and flat, with each line performing a single, clear action: instantiating a macro for a specific length value. The intent is evident—generating MD5 CUDA kernels for lengths 19 through 48. The sequential ordering from 19 to 48 provides a natural reading flow. However, the code is somewhat verbose for what could be a loop or a more compact macro expansion. The repetitive nature of the lines, while clear, is unnecessarily long and could be condensed. Nesting is nonexistent, which is positive, but the lack of abstraction or explanation of the macro's purpose slightly reduces clarity. Overall, it is readable but not optimally concise or self-documenting.
Run 3
The code is structurally simple and flat, with one action per line, which aids readability at a glance. However, the intent is entirely opaque without knowing the macro definition. The repeated macro invocations from 19 to 48 suggest a pattern that could likely be replaced with a loop or a more concise preprocessor construct, making the current approach unnecessarily verbose. While each line follows a consistent format, the lack of context or explanation about what the macro does and why these specific values are used makes it hard to assess clarity. The reading flow is repetitive but predictable, which helps slightly, yet the overall design feels like boilerplate that adds little value without abstraction. Without access to the macro definition, a reader cannot fully evaluate correctness or purpose, limiting the code's readability in a substantive sense.
Run 1
Code Structure: Uniform macro invocations are logically ordered by consecutive arguments. Nesting: Completely flat, with no visible nesting. Clarity of intent: The macro name suggests creation of long MD5 CUDA kernels, but the argument meaning and selected range are unexplained, and implementation details are hidden. Code length: Each invocation is concise, though 30 nearly identical lines are repetitive; whether this repetition is avoidable depends on the macro system. Action granularity: One macro invocation per line makes individual entries easy to inspect. Reading flow: Consistent formatting and ascending values provide a natural, predictable flow, although a brief comment explaining the range would improve understanding.
Run 2
Code Structure: Uniform macro invocations are logically ordered by consecutive arguments. Nesting: No visible nesting, making the snippet easy to scan. Clarity of intent: The macro name suggests creation of long MD5 CUDA kernels, but the argument meaning and range rationale are undocumented, and implementation details are hidden. Code length: Thirty repetitive lines are straightforward but verbose; a supported generation mechanism could reduce repetition. Action granularity: Each line contains exactly one macro invocation. Reading flow: Consistent formatting and ascending values provide a natural, predictable flow.
Run 3
Code Structure: Uniform macro invocations are logically ordered by consecutive arguments. Nesting: Completely flat, with no nested control flow. Clarity of intent: The macro name suggests creating MD5 CUDA kernels, but the meaning of LONG and the numeric arguments requires external context. Code length: Thirty repetitive lines are easy to scan but somewhat verbose; whether they can reasonably be consolidated depends on the macro implementation. Action granularity: Each line contains exactly one macro invocation. Reading flow: Consistent formatting and ascending numbers make the sequence predictable and easy to follow.