mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-09 09:13:09 +00:00
align
This commit is contained in:
parent
1c73e23824
commit
9f808fc78c
@ -44,95 +44,95 @@
|
||||
/// f, f', g, g' consist of six elements on the stack
|
||||
|
||||
global mul_fp254_12:
|
||||
// stack: inA, inB, out
|
||||
// stack: inA, inB, out
|
||||
DUP1
|
||||
%offset_fp254_6
|
||||
// stack: inA', inA, inB, out
|
||||
// stack: inA', inA, inB, out
|
||||
%load_fp254_6
|
||||
// stack: f', inA, inB, out
|
||||
// stack: f', inA, inB, out
|
||||
DUP8
|
||||
%offset_fp254_6
|
||||
// stack: inB', f', inA, inB, out
|
||||
// stack: inB', f', inA, inB, out
|
||||
%load_fp254_6
|
||||
// stack: g', f', inA, inB, out
|
||||
// stack: g', f', inA, inB, out
|
||||
PUSH mul_fp254_12_1
|
||||
// stack: mul_fp254_12_1, g', f', inA, inB, out
|
||||
// stack: mul_fp254_12_1, g', f', inA, inB, out
|
||||
%dup_fp254_6_7
|
||||
// stack: f', mul_fp254_12_1, g', f', inA, inB, out
|
||||
// stack: f', mul_fp254_12_1, g', f', inA, inB, out
|
||||
%dup_fp254_6_7
|
||||
// stack: g', f', mul_fp254_12_1, g', f', inA, inB, out
|
||||
// stack: g', f', mul_fp254_12_1, g', f', inA, inB, out
|
||||
%jump(mul_fp254_6)
|
||||
mul_fp254_12_1:
|
||||
// stack: f'g', g' , f', inA, inB, out
|
||||
// stack: f'g', g' , f', inA, inB, out
|
||||
%dup_fp254_6_0
|
||||
// stack: f'g', f'g', g' , f', inA, inB, out
|
||||
// stack: f'g', f'g', g' , f', inA, inB, out
|
||||
%store_fp254_6_sh(0)
|
||||
// stack: f'g', g' , f', inA, inB, out {0: sh(f'g')}
|
||||
// stack: f'g', g' , f', inA, inB, out {0: sh(f'g')}
|
||||
%store_fp254_6(6)
|
||||
// stack: g' , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: g' , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
DUP13
|
||||
// stack: inA, g' , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: inA, g' , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
DUP15
|
||||
// stack: inB, inA, g' , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: inB, inA, g' , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
%load_fp254_6
|
||||
// stack: g , inA, g' , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: g , inA, g' , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
%swap_fp254_6_hole
|
||||
// stack: g', inA, g , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: g', inA, g , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
%dup_fp254_6_7
|
||||
// stack: g,g', inA, g , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: g,g', inA, g , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
%add_fp254_6
|
||||
// stack: g+g', inA, g , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: g+g', inA, g , f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
%swap_fp254_6_hole
|
||||
// stack: g, inA, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: g, inA, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
PUSH mul_fp254_12_2
|
||||
// stack: mul_fp254_12_2, g, inA, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: mul_fp254_12_2, g, inA, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
SWAP7
|
||||
// stack: inA, g, mul_fp254_12_2, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: inA, g, mul_fp254_12_2, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
%load_fp254_6
|
||||
// stack: f, g, mul_fp254_12_2, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: f, g, mul_fp254_12_2, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
%jump(mul_fp254_6)
|
||||
mul_fp254_12_2:
|
||||
// stack: fg, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
// stack: fg, g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g'}
|
||||
%store_fp254_6(12)
|
||||
// stack: g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: g+g', f', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%swap_fp254_6
|
||||
// stack: f', g+g', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: f', g+g', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
PUSH mul_fp254_12_3
|
||||
// stack: mul_fp254_12_3, f', g+g', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: mul_fp254_12_3, f', g+g', inA, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
SWAP13
|
||||
// stack: inA, f', g+g', mul_fp254_12_3, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: inA, f', g+g', mul_fp254_12_3, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%load_fp254_6
|
||||
// stack: f,f', g+g', mul_fp254_12_3, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: f,f', g+g', mul_fp254_12_3, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%add_fp254_6
|
||||
// stack: f+f', g+g', mul_fp254_12_3, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: f+f', g+g', mul_fp254_12_3, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%jump(mul_fp254_6)
|
||||
mul_fp254_12_3:
|
||||
// stack: (f+f')(g+g'), inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: (f+f')(g+g'), inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%load_fp254_6(12)
|
||||
// stack: fg, (f+f')(g+g'), inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: fg, (f+f')(g+g'), inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%swap_fp254_6
|
||||
// stack: (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%dup_fp254_6_6
|
||||
// stack: fg, (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: fg, (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%load_fp254_6(6)
|
||||
// stack: f'g',fg, (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: f'g',fg, (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%add_fp254_6
|
||||
// stack: f'g'+fg, (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: f'g'+fg, (f+f')(g+g'), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%subr_fp254_6
|
||||
// stack: (f+f')(g+g') - (f'g'+fg), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: (f+f')(g+g') - (f'g'+fg), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
DUP14
|
||||
%offset_fp254_6
|
||||
// stack: out', (f+f')(g+g') - (f'g'+fg), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: out', (f+f')(g+g') - (f'g'+fg), fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%store_fp254_6
|
||||
// stack: fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%load_fp254_6(0)
|
||||
// stack: sh(f'g') , fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: sh(f'g') , fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%add_fp254_6
|
||||
// stack: sh(f'g') + fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: sh(f'g') + fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
DUP8
|
||||
// stack: out, sh(f'g') + fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: out, sh(f'g') + fg, inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%store_fp254_6
|
||||
// stack: inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
// stack: inB, out {0: sh(f'g'), 6: f'g', 12: fg}
|
||||
%pop2
|
||||
JUMP
|
||||
|
||||
@ -321,22 +321,22 @@ global square_fp254_12_test:
|
||||
POP
|
||||
|
||||
global square_fp254_12:
|
||||
// stack: inp, out
|
||||
// stack: inp, out
|
||||
DUP1
|
||||
// stack: inp, inp, out
|
||||
// stack: inp, inp, out
|
||||
%load_fp254_6
|
||||
// stack: f, inp, out
|
||||
// stack: f, inp, out
|
||||
PUSH square_fp254_12_3
|
||||
// stack: square_fp254_12_3, f, inp, out
|
||||
// stack: square_fp254_12_3, f, inp, out
|
||||
SWAP7
|
||||
// stack: inp, f, square_fp254_12_3, out
|
||||
// stack: inp, f, square_fp254_12_3, out
|
||||
PUSH square_fp254_12_2
|
||||
// stack: square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
// stack: square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
%dup_fp254_6_2
|
||||
// stack: f , square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
// stack: f , square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
DUP16
|
||||
%offset_fp254_6
|
||||
// stack: out', f , square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
// stack: out', f , square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
PUSH square_fp254_12_1
|
||||
// stack: square_fp254_12_1, out', f , square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
DUP10
|
||||
@ -350,32 +350,32 @@ global square_fp254_12:
|
||||
// stack: f', f , square_fp254_12_1, out', f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
%jump(mul_fp254_6)
|
||||
square_fp254_12_1:
|
||||
// stack: f'f, out', f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
// stack: f'f, out', f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
DUP7
|
||||
// stack: out', f'f, out', f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
// stack: out', f'f, out', f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
%store_fp254_6_double
|
||||
// stack: out', f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
// stack: out', f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
POP
|
||||
// stack: f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
// stack: f', square_fp254_12_2, inp, f, square_fp254_12_3, out
|
||||
%jump(square_fp254_6)
|
||||
square_fp254_12_2:
|
||||
// stack: f'f', inp, f, square_fp254_12_3, out
|
||||
// stack: f'f', inp, f, square_fp254_12_3, out
|
||||
%sh_fp254_6
|
||||
// stack: sh(f'f'), inp, f, square_fp254_12_3, out
|
||||
// stack: sh(f'f'), inp, f, square_fp254_12_3, out
|
||||
%swap_fp254_6_hole
|
||||
// stack: f, inp, sh(f'f'), square_fp254_12_3, out
|
||||
// stack: f, inp, sh(f'f'), square_fp254_12_3, out
|
||||
SWAP6
|
||||
SWAP13
|
||||
SWAP6
|
||||
// stack: f, square_fp254_12_3, sh(f'f'), inp, out
|
||||
// stack: f, square_fp254_12_3, sh(f'f'), inp, out
|
||||
%jump(square_fp254_6)
|
||||
square_fp254_12_3:
|
||||
// stack: ff , sh(f'f'), inp, out
|
||||
// stack: ff , sh(f'f'), inp, out
|
||||
%add_fp254_6
|
||||
// stack: ff + sh(f'f'), inp, out
|
||||
// stack: ff + sh(f'f'), inp, out
|
||||
DUP8
|
||||
// stack: out, ff + sh(f'f'), inp, out
|
||||
// stack: out, ff + sh(f'f'), inp, out
|
||||
%store_fp254_6
|
||||
// stack: inp, out
|
||||
// stack: inp, out
|
||||
%pop2
|
||||
JUMP
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user