Skip to content

feat(codegen): proof-carrying inline of lambda_eliashberg โ€” UNSHADOW #B#2093

Merged
dancinlife merged 2 commits into
mainfrom
unshadow-B-proof-carrying
May 29, 2026
Merged

feat(codegen): proof-carrying inline of lambda_eliashberg โ€” UNSHADOW #B#2093
dancinlife merged 2 commits into
mainfrom
unshadow-B-proof-carrying

Conversation

@dancinlife
Copy link
Copy Markdown
Contributor

๊ฒ€์ฆ๋œ identity(lambda_eliashberg(M0)โ‰ก2ยทM0, atlas verified-lambda_eliashberg-num ๐ŸŸข)๋ฅผ license ๋กœ ์‚ผ์•„ opaque cross-ABI call ์„ layout-only ์ธ๋ผ์ธ์œผ๋กœ ์น˜ํ™˜. expr ์ธ์ž let-bind 1ํšŒ๋กœ single-eval ์ฆ๋ช…(calls=1). g5 byte-diff IDENTICAL ยท ํ•ซ๋ฃจํ”„ 0.36โ†’0.19s (~47%). UNSHADOW ๐Ÿ”ต B ๋งˆ์ผ์Šคํ†ค flip + log ๊ธฐ๋ก.

๐Ÿค– Generated with Claude Code

dancinlife and others added 2 commits May 29, 2026 22:59
โ€ฆidentity licenses cross-ABI call elision (UNSHADOW #B)

UNSHADOW.easy.md ยงB "์ฆ๋ช…-ํ—ˆ๊ฐ€" ์‹ค์ฆ 1๊ฑด โ€” #4(atlas verdict=license) + #2
(layout-only cross-ABI inline) ๊ฒฐํ•ฉ. ๐ŸŸก SIMD ํ•ญ๋ชฉ์˜ ๋ฌด์†์‹ค ๐Ÿ”ต ์šฐํšŒ(raw SIMD
์žฌ๊ตฌํ˜„ ์•„๋‹˜).

License (proof โ€” ์—†์œผ๋ฉด UNSOUND): atlas ๋…ธ๋“œ verified-lambda_eliashberg-num
(`lambda_eliashberg(0.5)=1.0`, ๐ŸŸข SUPPORTED-NUMERICAL, verified-by
`hexa verify --expr lambda_eliashberg 0.5 1.0`) ์ด identity
`lambda_eliashberg(M0)โ‰ก2ยทM0` ๋ณด์ฆ. codegen ์€ fn body ๋ฅผ ๋ชจ๋ฆ„ โ€” atlas verdict
๋งŒ์ด opaque cross-ABI call โ†’ closed-form ์น˜ํ™˜ ํ—ˆ๊ฐ€. LLVM ๋ถˆ๊ฐ€(precompiled
runtime.o symbol ยท theorem DB ๋ถ€์žฌ).

Transform (gen2_expr Callโ†’Ident, #4 fold ์งํ›„):
  lambda_eliashberg(EXPR)
    โ†’ ({ HexaVal __le_x = (EXPR);
         HX_FLOAT(__le_x) < 0.0 ? hexa_float(-999999.0)
                                : ((HexaVal){.tag=TAG_FLOAT,.f=(2.0*HX_FLOAT(__le_x))}); })
layout-only(runtime.h-๊ฐ€์‹œ TAG_FLOAT/HX_FLOAT/hexa_float๋งŒ; ๋‚ด๋ถ€ ํ—ฌํผ 0).
GUARD EXACT: name ์ผ์น˜ + _is_known_fn_global + !_gen2_has_decl + arg 1๊ฐœ.
DOUBLE-EVAL SAFE: EXPR ๋ฅผ __le_x ๋กœ 1ํšŒ let-bind(3ร— ์ฝ์Œ).

g5 (mini macOS arm64, hexat.base vs hexat.new, ๋™์ผ runtime.o):
- HIT corpus(expr ์ธ์ž+์Œ์ˆ˜): 1/3/6.5/-999999/-999999 ์–‘ arm ๋™์ผ, md5
  570eaa65 ์–‘์ชฝ BYTE-IDENTICAL (์Œ์ˆ˜ guard ๊ฒฝ๋กœ ๋ณด์กด)
- single-eval corpus(side-effecting bump_then): INLINED arm calls=1, md5
  d44d54ac ์–‘์ชฝ BYTE-IDENTICAL (let-bind ๋‹จ์ผํ‰๊ฐ€ ์ฆ๋ช…)
- no-hit corpus: emit C base vs new BYTE-IDENTICAL (transform inert)
perf: 30M-iter ํ•ซ๋ฃจํ”„ 0.36โ†’0.19s (~47%) ยท `bl _lambda_eliashberg` _u_main ์†Œ๊ฑฐ.

hexa_cc.c ๋Š” B9 generated โ†’ ๋ฏธ์ปค๋ฐ‹. SSOT = self/codegen.hexa.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts:
#	domains/UNSHADOW.md
@dancinlife dancinlife merged commit 910ef7d into main May 29, 2026
2 of 8 checks passed
@dancinlife dancinlife deleted the unshadow-B-proof-carrying branch May 29, 2026 14:43
dancinlife added a commit that referenced this pull request May 29, 2026
UNSHADOW ์ „์ œ๋ฅผ HEXA-STACK ์œผ๋กœ ์žฌ์ž‘์„ฑ: LLVM ์„ ์žฌ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ (M1 native-asm
5/5 ํŒจ๋ฐฐ) clang -O2 ๋ฅผ floor ๋กœ ์ƒ์†ํ•œ ์œ„์— ๐Ÿ”ต ์šฐ์œ„(์ธ๋ผ์ธยทatlas-foldยท
proof-carryingยทcheck-elision)๋ฅผ ceiling ์œผ๋กœ ์ ์ธต. ์ด๋ฒˆ ์‚ฌ์ดํด ๋‘ closed-negative
(#2-ext rt_str ยท C tag-elision)๊ฐ€ ํ•œ ๋ธ”๋กœ์ปค๋กœ ์ˆ˜๋ ด = runtime.o C-ABI ๋ฒฝ;
LTO/same-TU = .c=0 ์กธ์—…์ด ๋‘ tier ๋ฅผ ๋™์‹œ์— ์—ฌ๋Š” ์—ด์‡ .

- UNSHADOW.md: ์ „์ œ ์žฌ์ž‘์„ฑ + 3 ์‹ ๊ทœ milestone (๐ŸŸก parity ์ƒ์† ยท ๐Ÿ”ตร—๐ŸŸก LTO unwall
  ์‹ค์ธก ยท ๐Ÿ—๏ธ ์ ์ธต ์›์น™ ๋ฌธ์„œํ™”)
- UNSHADOW.easy.md: ๐Ÿ—๏ธ HEXA-STACK ์ ์ธต ์„น์…˜ (ASCII floor/ceiling ๋‹ค์ด์–ด๊ทธ๋žจ + ๋น„๊ตํ‘œ)
- UNSHADOW.log.md: B(#2093)+C(#2094) ๋žœ๋”ฉ + ABI-๋ฒฝ ์ˆ˜๋ ด meta-finding ๊ธฐ๋ก

Co-authored-by: dancinlife <search5599@proton.me>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant