Skip to content

fix: lower chained secret Chebyshev evaluations natively - #3352

Open
AlexanderViand wants to merge 1 commit into
mainfrom
alex/fix-chebyshev-kernel-lowering
Open

fix: lower chained secret Chebyshev evaluations natively#3352
AlexanderViand wants to merge 1 commit into
mainfrom
alex/fix-chebyshev-kernel-lowering

Conversation

@AlexanderViand

Copy link
Copy Markdown
Collaborator

In a situation like poly.eval(poly.eval(x)) which occurs, e.g., in composite ReLU lowerings, only the inner one would be lowered to kernel.chebyshev, the second one would incorrectly be detected to be non-secret:

Replacing the inner eval creates a new operand with no lattice entry for the outer eval, so we need to query on the result rather than the operand.

SecretnessAnalysis runs before walk-based rewriting. Replacing an earlier eval creates a new operand with no lattice entry, while each later eval result remains analyzed. Query the result so chained secret evaluations consistently use native lowering.
@AlexanderViand
AlexanderViand force-pushed the alex/fix-chebyshev-kernel-lowering branch from ffd79eb to a64b9f9 Compare August 24, 2026 05:02
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