Jan Klhůfek 56c86c13ca
New multipliers (#13)
* #10 CGP Circuits as inputs (#11)

* CGP Circuits as inputs

* #10 support of signed output in general circuit

* input as output works

* output connected to input (c)

* automated verilog testing

* output rename

* Implemented CSA and Wallace tree multiplier composing of CSAs. Also did some code cleanup.

* Typos fix and code cleanup.

* Added new (approximate) multiplier architectures and did some minor changes regarding sign extension for c output formats.

* Updated automated testing scripts.

* Small bugfix in python code generation (I initially thought this line is useless).

* Updated generated circuits folder.

Co-authored-by: Vojta Mrazek <mrazek@fit.vutbr.cz>
2022-04-17 16:00:00 +02:00

2358 lines
184 KiB
C

#include <stdio.h>
#include <stdint.h>
uint8_t and_gate(uint8_t a, uint8_t b){
return ((a >> 0) & 0x01) & ((b >> 0) & 0x01);
}
uint8_t xor_gate(uint8_t a, uint8_t b){
return ((a >> 0) & 0x01) ^ ((b >> 0) & 0x01);
}
uint8_t or_gate(uint8_t a, uint8_t b){
return ((a >> 0) & 0x01) | ((b >> 0) & 0x01);
}
uint8_t not_gate(uint8_t a){
return ~(((a >> 0) & 0x01)) & 0x01;
}
uint8_t fa(uint8_t a, uint8_t b, uint8_t cin){
uint8_t fa_out = 0;
uint8_t fa_xor0 = 0;
uint8_t fa_and0 = 0;
uint8_t fa_xor1 = 0;
uint8_t fa_and1 = 0;
uint8_t fa_or0 = 0;
fa_xor0 = xor_gate(((a >> 0) & 0x01), ((b >> 0) & 0x01));
fa_and0 = and_gate(((a >> 0) & 0x01), ((b >> 0) & 0x01));
fa_xor1 = xor_gate(((fa_xor0 >> 0) & 0x01), ((cin >> 0) & 0x01));
fa_and1 = and_gate(((fa_xor0 >> 0) & 0x01), ((cin >> 0) & 0x01));
fa_or0 = or_gate(((fa_and0 >> 0) & 0x01), ((fa_and1 >> 0) & 0x01));
fa_out |= ((fa_xor1 >> 0) & 0x01ull) << 0;
fa_out |= ((fa_or0 >> 0) & 0x01ull) << 1;
return fa_out;
}
uint8_t ha(uint8_t a, uint8_t b){
uint8_t ha_out = 0;
uint8_t ha_xor0 = 0;
uint8_t ha_and0 = 0;
ha_xor0 = xor_gate(((a >> 0) & 0x01), ((b >> 0) & 0x01));
ha_and0 = and_gate(((a >> 0) & 0x01), ((b >> 0) & 0x01));
ha_out |= ((ha_xor0 >> 0) & 0x01ull) << 0;
ha_out |= ((ha_and0 >> 0) & 0x01ull) << 1;
return ha_out;
}
uint8_t mux2to1(uint8_t d0, uint8_t d1, uint8_t sel){
uint8_t mux2to1_out = 0;
uint8_t mux2to1_and0 = 0;
uint8_t mux2to1_not0 = 0;
uint8_t mux2to1_and1 = 0;
uint8_t mux2to1_xor0 = 0;
mux2to1_and0 = and_gate(((d1 >> 0) & 0x01), ((sel >> 0) & 0x01));
mux2to1_not0 = not_gate(((sel >> 0) & 0x01));
mux2to1_and1 = and_gate(((d0 >> 0) & 0x01), ((mux2to1_not0 >> 0) & 0x01));
mux2to1_xor0 = xor_gate(((mux2to1_and0 >> 0) & 0x01), ((mux2to1_and1 >> 0) & 0x01));
mux2to1_out |= ((mux2to1_xor0 >> 0) & 0x01ull) << 0;
return mux2to1_out;
}
uint64_t csa_component14(uint64_t a, uint64_t b, uint64_t c){
uint64_t csa_component14_out = 0;
uint8_t csa_component14_fa0_xor1 = 0;
uint8_t csa_component14_fa0_or0 = 0;
uint8_t csa_component14_fa1_xor1 = 0;
uint8_t csa_component14_fa1_or0 = 0;
uint8_t csa_component14_fa2_xor1 = 0;
uint8_t csa_component14_fa2_or0 = 0;
uint8_t csa_component14_fa3_xor1 = 0;
uint8_t csa_component14_fa3_or0 = 0;
uint8_t csa_component14_fa4_xor1 = 0;
uint8_t csa_component14_fa4_or0 = 0;
uint8_t csa_component14_fa5_xor1 = 0;
uint8_t csa_component14_fa5_or0 = 0;
uint8_t csa_component14_fa6_xor1 = 0;
uint8_t csa_component14_fa6_or0 = 0;
uint8_t csa_component14_fa7_xor1 = 0;
uint8_t csa_component14_fa7_or0 = 0;
uint8_t csa_component14_fa8_xor1 = 0;
uint8_t csa_component14_fa8_or0 = 0;
uint8_t csa_component14_fa9_xor1 = 0;
uint8_t csa_component14_fa9_or0 = 0;
uint8_t csa_component14_fa10_xor1 = 0;
uint8_t csa_component14_fa10_or0 = 0;
uint8_t csa_component14_fa11_xor1 = 0;
uint8_t csa_component14_fa11_or0 = 0;
uint8_t csa_component14_fa12_xor1 = 0;
uint8_t csa_component14_fa12_or0 = 0;
uint8_t csa_component14_fa13_xor1 = 0;
uint8_t csa_component14_fa13_or0 = 0;
csa_component14_fa0_xor1 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 0) & 0x01;
csa_component14_fa0_or0 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 1) & 0x01;
csa_component14_fa1_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 0) & 0x01;
csa_component14_fa1_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 1) & 0x01;
csa_component14_fa2_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 0) & 0x01;
csa_component14_fa2_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 1) & 0x01;
csa_component14_fa3_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 0) & 0x01;
csa_component14_fa3_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 1) & 0x01;
csa_component14_fa4_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 0) & 0x01;
csa_component14_fa4_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 1) & 0x01;
csa_component14_fa5_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 0) & 0x01;
csa_component14_fa5_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 1) & 0x01;
csa_component14_fa6_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 0) & 0x01;
csa_component14_fa6_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 1) & 0x01;
csa_component14_fa7_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 0) & 0x01;
csa_component14_fa7_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 1) & 0x01;
csa_component14_fa8_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 0) & 0x01;
csa_component14_fa8_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 1) & 0x01;
csa_component14_fa9_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 0) & 0x01;
csa_component14_fa9_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 1) & 0x01;
csa_component14_fa10_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 0) & 0x01;
csa_component14_fa10_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 1) & 0x01;
csa_component14_fa11_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 0) & 0x01;
csa_component14_fa11_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 1) & 0x01;
csa_component14_fa12_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 0) & 0x01;
csa_component14_fa12_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 1) & 0x01;
csa_component14_fa13_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 0) & 0x01;
csa_component14_fa13_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 1) & 0x01;
csa_component14_out |= ((csa_component14_fa0_xor1 >> 0) & 0x01ull) << 0;
csa_component14_out |= ((csa_component14_fa1_xor1 >> 0) & 0x01ull) << 1;
csa_component14_out |= ((csa_component14_fa2_xor1 >> 0) & 0x01ull) << 2;
csa_component14_out |= ((csa_component14_fa3_xor1 >> 0) & 0x01ull) << 3;
csa_component14_out |= ((csa_component14_fa4_xor1 >> 0) & 0x01ull) << 4;
csa_component14_out |= ((csa_component14_fa5_xor1 >> 0) & 0x01ull) << 5;
csa_component14_out |= ((csa_component14_fa6_xor1 >> 0) & 0x01ull) << 6;
csa_component14_out |= ((csa_component14_fa7_xor1 >> 0) & 0x01ull) << 7;
csa_component14_out |= ((csa_component14_fa8_xor1 >> 0) & 0x01ull) << 8;
csa_component14_out |= ((csa_component14_fa9_xor1 >> 0) & 0x01ull) << 9;
csa_component14_out |= ((csa_component14_fa10_xor1 >> 0) & 0x01ull) << 10;
csa_component14_out |= ((csa_component14_fa11_xor1 >> 0) & 0x01ull) << 11;
csa_component14_out |= ((csa_component14_fa12_xor1 >> 0) & 0x01ull) << 12;
csa_component14_out |= ((csa_component14_fa13_xor1 >> 0) & 0x01ull) << 13;
csa_component14_out |= (0x00) << 14;
csa_component14_out |= (0x00) << 15;
csa_component14_out |= ((csa_component14_fa0_or0 >> 0) & 0x01ull) << 16;
csa_component14_out |= ((csa_component14_fa1_or0 >> 0) & 0x01ull) << 17;
csa_component14_out |= ((csa_component14_fa2_or0 >> 0) & 0x01ull) << 18;
csa_component14_out |= ((csa_component14_fa3_or0 >> 0) & 0x01ull) << 19;
csa_component14_out |= ((csa_component14_fa4_or0 >> 0) & 0x01ull) << 20;
csa_component14_out |= ((csa_component14_fa5_or0 >> 0) & 0x01ull) << 21;
csa_component14_out |= ((csa_component14_fa6_or0 >> 0) & 0x01ull) << 22;
csa_component14_out |= ((csa_component14_fa7_or0 >> 0) & 0x01ull) << 23;
csa_component14_out |= ((csa_component14_fa8_or0 >> 0) & 0x01ull) << 24;
csa_component14_out |= ((csa_component14_fa9_or0 >> 0) & 0x01ull) << 25;
csa_component14_out |= ((csa_component14_fa10_or0 >> 0) & 0x01ull) << 26;
csa_component14_out |= ((csa_component14_fa11_or0 >> 0) & 0x01ull) << 27;
csa_component14_out |= ((csa_component14_fa12_or0 >> 0) & 0x01ull) << 28;
csa_component14_out |= ((csa_component14_fa13_or0 >> 0) & 0x01ull) << 29;
return csa_component14_out;
}
uint64_t csa_component17(uint64_t a, uint64_t b, uint64_t c){
uint64_t csa_component17_out = 0;
uint8_t csa_component17_fa0_xor1 = 0;
uint8_t csa_component17_fa0_or0 = 0;
uint8_t csa_component17_fa1_xor1 = 0;
uint8_t csa_component17_fa1_or0 = 0;
uint8_t csa_component17_fa2_xor1 = 0;
uint8_t csa_component17_fa2_or0 = 0;
uint8_t csa_component17_fa3_xor1 = 0;
uint8_t csa_component17_fa3_or0 = 0;
uint8_t csa_component17_fa4_xor1 = 0;
uint8_t csa_component17_fa4_or0 = 0;
uint8_t csa_component17_fa5_xor1 = 0;
uint8_t csa_component17_fa5_or0 = 0;
uint8_t csa_component17_fa6_xor1 = 0;
uint8_t csa_component17_fa6_or0 = 0;
uint8_t csa_component17_fa7_xor1 = 0;
uint8_t csa_component17_fa7_or0 = 0;
uint8_t csa_component17_fa8_xor1 = 0;
uint8_t csa_component17_fa8_or0 = 0;
uint8_t csa_component17_fa9_xor1 = 0;
uint8_t csa_component17_fa9_or0 = 0;
uint8_t csa_component17_fa10_xor1 = 0;
uint8_t csa_component17_fa10_or0 = 0;
uint8_t csa_component17_fa11_xor1 = 0;
uint8_t csa_component17_fa11_or0 = 0;
uint8_t csa_component17_fa12_xor1 = 0;
uint8_t csa_component17_fa12_or0 = 0;
uint8_t csa_component17_fa13_xor1 = 0;
uint8_t csa_component17_fa13_or0 = 0;
uint8_t csa_component17_fa14_xor1 = 0;
uint8_t csa_component17_fa14_or0 = 0;
uint8_t csa_component17_fa15_xor1 = 0;
uint8_t csa_component17_fa15_or0 = 0;
uint8_t csa_component17_fa16_xor1 = 0;
uint8_t csa_component17_fa16_or0 = 0;
csa_component17_fa0_xor1 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 0) & 0x01;
csa_component17_fa0_or0 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 1) & 0x01;
csa_component17_fa1_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 0) & 0x01;
csa_component17_fa1_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 1) & 0x01;
csa_component17_fa2_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 0) & 0x01;
csa_component17_fa2_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 1) & 0x01;
csa_component17_fa3_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 0) & 0x01;
csa_component17_fa3_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 1) & 0x01;
csa_component17_fa4_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 0) & 0x01;
csa_component17_fa4_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 1) & 0x01;
csa_component17_fa5_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 0) & 0x01;
csa_component17_fa5_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 1) & 0x01;
csa_component17_fa6_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 0) & 0x01;
csa_component17_fa6_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 1) & 0x01;
csa_component17_fa7_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 0) & 0x01;
csa_component17_fa7_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 1) & 0x01;
csa_component17_fa8_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 0) & 0x01;
csa_component17_fa8_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 1) & 0x01;
csa_component17_fa9_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 0) & 0x01;
csa_component17_fa9_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 1) & 0x01;
csa_component17_fa10_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 0) & 0x01;
csa_component17_fa10_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 1) & 0x01;
csa_component17_fa11_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 0) & 0x01;
csa_component17_fa11_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 1) & 0x01;
csa_component17_fa12_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 0) & 0x01;
csa_component17_fa12_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 1) & 0x01;
csa_component17_fa13_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 0) & 0x01;
csa_component17_fa13_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 1) & 0x01;
csa_component17_fa14_xor1 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 0) & 0x01;
csa_component17_fa14_or0 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 1) & 0x01;
csa_component17_fa15_xor1 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 0) & 0x01;
csa_component17_fa15_or0 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 1) & 0x01;
csa_component17_fa16_xor1 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 0) & 0x01;
csa_component17_fa16_or0 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 1) & 0x01;
csa_component17_out |= ((csa_component17_fa0_xor1 >> 0) & 0x01ull) << 0;
csa_component17_out |= ((csa_component17_fa1_xor1 >> 0) & 0x01ull) << 1;
csa_component17_out |= ((csa_component17_fa2_xor1 >> 0) & 0x01ull) << 2;
csa_component17_out |= ((csa_component17_fa3_xor1 >> 0) & 0x01ull) << 3;
csa_component17_out |= ((csa_component17_fa4_xor1 >> 0) & 0x01ull) << 4;
csa_component17_out |= ((csa_component17_fa5_xor1 >> 0) & 0x01ull) << 5;
csa_component17_out |= ((csa_component17_fa6_xor1 >> 0) & 0x01ull) << 6;
csa_component17_out |= ((csa_component17_fa7_xor1 >> 0) & 0x01ull) << 7;
csa_component17_out |= ((csa_component17_fa8_xor1 >> 0) & 0x01ull) << 8;
csa_component17_out |= ((csa_component17_fa9_xor1 >> 0) & 0x01ull) << 9;
csa_component17_out |= ((csa_component17_fa10_xor1 >> 0) & 0x01ull) << 10;
csa_component17_out |= ((csa_component17_fa11_xor1 >> 0) & 0x01ull) << 11;
csa_component17_out |= ((csa_component17_fa12_xor1 >> 0) & 0x01ull) << 12;
csa_component17_out |= ((csa_component17_fa13_xor1 >> 0) & 0x01ull) << 13;
csa_component17_out |= ((csa_component17_fa14_xor1 >> 0) & 0x01ull) << 14;
csa_component17_out |= ((csa_component17_fa15_xor1 >> 0) & 0x01ull) << 15;
csa_component17_out |= ((csa_component17_fa16_xor1 >> 0) & 0x01ull) << 16;
csa_component17_out |= (0x00) << 17;
csa_component17_out |= (0x00) << 18;
csa_component17_out |= ((csa_component17_fa0_or0 >> 0) & 0x01ull) << 19;
csa_component17_out |= ((csa_component17_fa1_or0 >> 0) & 0x01ull) << 20;
csa_component17_out |= ((csa_component17_fa2_or0 >> 0) & 0x01ull) << 21;
csa_component17_out |= ((csa_component17_fa3_or0 >> 0) & 0x01ull) << 22;
csa_component17_out |= ((csa_component17_fa4_or0 >> 0) & 0x01ull) << 23;
csa_component17_out |= ((csa_component17_fa5_or0 >> 0) & 0x01ull) << 24;
csa_component17_out |= ((csa_component17_fa6_or0 >> 0) & 0x01ull) << 25;
csa_component17_out |= ((csa_component17_fa7_or0 >> 0) & 0x01ull) << 26;
csa_component17_out |= ((csa_component17_fa8_or0 >> 0) & 0x01ull) << 27;
csa_component17_out |= ((csa_component17_fa9_or0 >> 0) & 0x01ull) << 28;
csa_component17_out |= ((csa_component17_fa10_or0 >> 0) & 0x01ull) << 29;
csa_component17_out |= ((csa_component17_fa11_or0 >> 0) & 0x01ull) << 30;
csa_component17_out |= ((csa_component17_fa12_or0 >> 0) & 0x01ull) << 31;
csa_component17_out |= ((csa_component17_fa13_or0 >> 0) & 0x01ull) << 32;
csa_component17_out |= ((csa_component17_fa14_or0 >> 0) & 0x01ull) << 33;
csa_component17_out |= ((csa_component17_fa15_or0 >> 0) & 0x01ull) << 34;
csa_component17_out |= ((csa_component17_fa16_or0 >> 0) & 0x01ull) << 35;
return csa_component17_out;
}
uint64_t csa_component20(uint64_t a, uint64_t b, uint64_t c){
uint64_t csa_component20_out = 0;
uint8_t csa_component20_fa0_xor1 = 0;
uint8_t csa_component20_fa0_or0 = 0;
uint8_t csa_component20_fa1_xor1 = 0;
uint8_t csa_component20_fa1_or0 = 0;
uint8_t csa_component20_fa2_xor1 = 0;
uint8_t csa_component20_fa2_or0 = 0;
uint8_t csa_component20_fa3_xor1 = 0;
uint8_t csa_component20_fa3_or0 = 0;
uint8_t csa_component20_fa4_xor1 = 0;
uint8_t csa_component20_fa4_or0 = 0;
uint8_t csa_component20_fa5_xor1 = 0;
uint8_t csa_component20_fa5_or0 = 0;
uint8_t csa_component20_fa6_xor1 = 0;
uint8_t csa_component20_fa6_or0 = 0;
uint8_t csa_component20_fa7_xor1 = 0;
uint8_t csa_component20_fa7_or0 = 0;
uint8_t csa_component20_fa8_xor1 = 0;
uint8_t csa_component20_fa8_or0 = 0;
uint8_t csa_component20_fa9_xor1 = 0;
uint8_t csa_component20_fa9_or0 = 0;
uint8_t csa_component20_fa10_xor1 = 0;
uint8_t csa_component20_fa10_or0 = 0;
uint8_t csa_component20_fa11_xor1 = 0;
uint8_t csa_component20_fa11_or0 = 0;
uint8_t csa_component20_fa12_xor1 = 0;
uint8_t csa_component20_fa12_or0 = 0;
uint8_t csa_component20_fa13_xor1 = 0;
uint8_t csa_component20_fa13_or0 = 0;
uint8_t csa_component20_fa14_xor1 = 0;
uint8_t csa_component20_fa14_or0 = 0;
uint8_t csa_component20_fa15_xor1 = 0;
uint8_t csa_component20_fa15_or0 = 0;
uint8_t csa_component20_fa16_xor1 = 0;
uint8_t csa_component20_fa16_or0 = 0;
uint8_t csa_component20_fa17_xor1 = 0;
uint8_t csa_component20_fa17_or0 = 0;
uint8_t csa_component20_fa18_xor1 = 0;
uint8_t csa_component20_fa18_or0 = 0;
uint8_t csa_component20_fa19_xor1 = 0;
uint8_t csa_component20_fa19_or0 = 0;
csa_component20_fa0_xor1 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 0) & 0x01;
csa_component20_fa0_or0 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 1) & 0x01;
csa_component20_fa1_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 0) & 0x01;
csa_component20_fa1_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 1) & 0x01;
csa_component20_fa2_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 0) & 0x01;
csa_component20_fa2_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 1) & 0x01;
csa_component20_fa3_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 0) & 0x01;
csa_component20_fa3_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 1) & 0x01;
csa_component20_fa4_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 0) & 0x01;
csa_component20_fa4_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 1) & 0x01;
csa_component20_fa5_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 0) & 0x01;
csa_component20_fa5_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 1) & 0x01;
csa_component20_fa6_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 0) & 0x01;
csa_component20_fa6_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 1) & 0x01;
csa_component20_fa7_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 0) & 0x01;
csa_component20_fa7_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 1) & 0x01;
csa_component20_fa8_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 0) & 0x01;
csa_component20_fa8_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 1) & 0x01;
csa_component20_fa9_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 0) & 0x01;
csa_component20_fa9_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 1) & 0x01;
csa_component20_fa10_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 0) & 0x01;
csa_component20_fa10_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 1) & 0x01;
csa_component20_fa11_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 0) & 0x01;
csa_component20_fa11_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 1) & 0x01;
csa_component20_fa12_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 0) & 0x01;
csa_component20_fa12_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 1) & 0x01;
csa_component20_fa13_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 0) & 0x01;
csa_component20_fa13_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 1) & 0x01;
csa_component20_fa14_xor1 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 0) & 0x01;
csa_component20_fa14_or0 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 1) & 0x01;
csa_component20_fa15_xor1 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 0) & 0x01;
csa_component20_fa15_or0 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 1) & 0x01;
csa_component20_fa16_xor1 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 0) & 0x01;
csa_component20_fa16_or0 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 1) & 0x01;
csa_component20_fa17_xor1 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 0) & 0x01;
csa_component20_fa17_or0 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 1) & 0x01;
csa_component20_fa18_xor1 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 0) & 0x01;
csa_component20_fa18_or0 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 1) & 0x01;
csa_component20_fa19_xor1 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 0) & 0x01;
csa_component20_fa19_or0 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 1) & 0x01;
csa_component20_out |= ((csa_component20_fa0_xor1 >> 0) & 0x01ull) << 0;
csa_component20_out |= ((csa_component20_fa1_xor1 >> 0) & 0x01ull) << 1;
csa_component20_out |= ((csa_component20_fa2_xor1 >> 0) & 0x01ull) << 2;
csa_component20_out |= ((csa_component20_fa3_xor1 >> 0) & 0x01ull) << 3;
csa_component20_out |= ((csa_component20_fa4_xor1 >> 0) & 0x01ull) << 4;
csa_component20_out |= ((csa_component20_fa5_xor1 >> 0) & 0x01ull) << 5;
csa_component20_out |= ((csa_component20_fa6_xor1 >> 0) & 0x01ull) << 6;
csa_component20_out |= ((csa_component20_fa7_xor1 >> 0) & 0x01ull) << 7;
csa_component20_out |= ((csa_component20_fa8_xor1 >> 0) & 0x01ull) << 8;
csa_component20_out |= ((csa_component20_fa9_xor1 >> 0) & 0x01ull) << 9;
csa_component20_out |= ((csa_component20_fa10_xor1 >> 0) & 0x01ull) << 10;
csa_component20_out |= ((csa_component20_fa11_xor1 >> 0) & 0x01ull) << 11;
csa_component20_out |= ((csa_component20_fa12_xor1 >> 0) & 0x01ull) << 12;
csa_component20_out |= ((csa_component20_fa13_xor1 >> 0) & 0x01ull) << 13;
csa_component20_out |= ((csa_component20_fa14_xor1 >> 0) & 0x01ull) << 14;
csa_component20_out |= ((csa_component20_fa15_xor1 >> 0) & 0x01ull) << 15;
csa_component20_out |= ((csa_component20_fa16_xor1 >> 0) & 0x01ull) << 16;
csa_component20_out |= ((csa_component20_fa17_xor1 >> 0) & 0x01ull) << 17;
csa_component20_out |= ((csa_component20_fa18_xor1 >> 0) & 0x01ull) << 18;
csa_component20_out |= ((csa_component20_fa19_xor1 >> 0) & 0x01ull) << 19;
csa_component20_out |= (0x00) << 20;
csa_component20_out |= (0x00) << 21;
csa_component20_out |= ((csa_component20_fa0_or0 >> 0) & 0x01ull) << 22;
csa_component20_out |= ((csa_component20_fa1_or0 >> 0) & 0x01ull) << 23;
csa_component20_out |= ((csa_component20_fa2_or0 >> 0) & 0x01ull) << 24;
csa_component20_out |= ((csa_component20_fa3_or0 >> 0) & 0x01ull) << 25;
csa_component20_out |= ((csa_component20_fa4_or0 >> 0) & 0x01ull) << 26;
csa_component20_out |= ((csa_component20_fa5_or0 >> 0) & 0x01ull) << 27;
csa_component20_out |= ((csa_component20_fa6_or0 >> 0) & 0x01ull) << 28;
csa_component20_out |= ((csa_component20_fa7_or0 >> 0) & 0x01ull) << 29;
csa_component20_out |= ((csa_component20_fa8_or0 >> 0) & 0x01ull) << 30;
csa_component20_out |= ((csa_component20_fa9_or0 >> 0) & 0x01ull) << 31;
csa_component20_out |= ((csa_component20_fa10_or0 >> 0) & 0x01ull) << 32;
csa_component20_out |= ((csa_component20_fa11_or0 >> 0) & 0x01ull) << 33;
csa_component20_out |= ((csa_component20_fa12_or0 >> 0) & 0x01ull) << 34;
csa_component20_out |= ((csa_component20_fa13_or0 >> 0) & 0x01ull) << 35;
csa_component20_out |= ((csa_component20_fa14_or0 >> 0) & 0x01ull) << 36;
csa_component20_out |= ((csa_component20_fa15_or0 >> 0) & 0x01ull) << 37;
csa_component20_out |= ((csa_component20_fa16_or0 >> 0) & 0x01ull) << 38;
csa_component20_out |= ((csa_component20_fa17_or0 >> 0) & 0x01ull) << 39;
csa_component20_out |= ((csa_component20_fa18_or0 >> 0) & 0x01ull) << 40;
csa_component20_out |= ((csa_component20_fa19_or0 >> 0) & 0x01ull) << 41;
return csa_component20_out;
}
uint64_t csa_component23(uint64_t a, uint64_t b, uint64_t c){
uint64_t csa_component23_out = 0;
uint8_t csa_component23_fa0_xor1 = 0;
uint8_t csa_component23_fa0_or0 = 0;
uint8_t csa_component23_fa1_xor1 = 0;
uint8_t csa_component23_fa1_or0 = 0;
uint8_t csa_component23_fa2_xor1 = 0;
uint8_t csa_component23_fa2_or0 = 0;
uint8_t csa_component23_fa3_xor1 = 0;
uint8_t csa_component23_fa3_or0 = 0;
uint8_t csa_component23_fa4_xor1 = 0;
uint8_t csa_component23_fa4_or0 = 0;
uint8_t csa_component23_fa5_xor1 = 0;
uint8_t csa_component23_fa5_or0 = 0;
uint8_t csa_component23_fa6_xor1 = 0;
uint8_t csa_component23_fa6_or0 = 0;
uint8_t csa_component23_fa7_xor1 = 0;
uint8_t csa_component23_fa7_or0 = 0;
uint8_t csa_component23_fa8_xor1 = 0;
uint8_t csa_component23_fa8_or0 = 0;
uint8_t csa_component23_fa9_xor1 = 0;
uint8_t csa_component23_fa9_or0 = 0;
uint8_t csa_component23_fa10_xor1 = 0;
uint8_t csa_component23_fa10_or0 = 0;
uint8_t csa_component23_fa11_xor1 = 0;
uint8_t csa_component23_fa11_or0 = 0;
uint8_t csa_component23_fa12_xor1 = 0;
uint8_t csa_component23_fa12_or0 = 0;
uint8_t csa_component23_fa13_xor1 = 0;
uint8_t csa_component23_fa13_or0 = 0;
uint8_t csa_component23_fa14_xor1 = 0;
uint8_t csa_component23_fa14_or0 = 0;
uint8_t csa_component23_fa15_xor1 = 0;
uint8_t csa_component23_fa15_or0 = 0;
uint8_t csa_component23_fa16_xor1 = 0;
uint8_t csa_component23_fa16_or0 = 0;
uint8_t csa_component23_fa17_xor1 = 0;
uint8_t csa_component23_fa17_or0 = 0;
uint8_t csa_component23_fa18_xor1 = 0;
uint8_t csa_component23_fa18_or0 = 0;
uint8_t csa_component23_fa19_xor1 = 0;
uint8_t csa_component23_fa19_or0 = 0;
uint8_t csa_component23_fa20_xor1 = 0;
uint8_t csa_component23_fa20_or0 = 0;
uint8_t csa_component23_fa21_xor1 = 0;
uint8_t csa_component23_fa21_or0 = 0;
uint8_t csa_component23_fa22_xor1 = 0;
uint8_t csa_component23_fa22_or0 = 0;
csa_component23_fa0_xor1 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 0) & 0x01;
csa_component23_fa0_or0 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 1) & 0x01;
csa_component23_fa1_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 0) & 0x01;
csa_component23_fa1_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 1) & 0x01;
csa_component23_fa2_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 0) & 0x01;
csa_component23_fa2_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 1) & 0x01;
csa_component23_fa3_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 0) & 0x01;
csa_component23_fa3_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 1) & 0x01;
csa_component23_fa4_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 0) & 0x01;
csa_component23_fa4_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 1) & 0x01;
csa_component23_fa5_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 0) & 0x01;
csa_component23_fa5_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 1) & 0x01;
csa_component23_fa6_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 0) & 0x01;
csa_component23_fa6_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 1) & 0x01;
csa_component23_fa7_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 0) & 0x01;
csa_component23_fa7_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 1) & 0x01;
csa_component23_fa8_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 0) & 0x01;
csa_component23_fa8_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 1) & 0x01;
csa_component23_fa9_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 0) & 0x01;
csa_component23_fa9_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 1) & 0x01;
csa_component23_fa10_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 0) & 0x01;
csa_component23_fa10_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 1) & 0x01;
csa_component23_fa11_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 0) & 0x01;
csa_component23_fa11_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 1) & 0x01;
csa_component23_fa12_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 0) & 0x01;
csa_component23_fa12_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 1) & 0x01;
csa_component23_fa13_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 0) & 0x01;
csa_component23_fa13_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 1) & 0x01;
csa_component23_fa14_xor1 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 0) & 0x01;
csa_component23_fa14_or0 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 1) & 0x01;
csa_component23_fa15_xor1 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 0) & 0x01;
csa_component23_fa15_or0 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 1) & 0x01;
csa_component23_fa16_xor1 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 0) & 0x01;
csa_component23_fa16_or0 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 1) & 0x01;
csa_component23_fa17_xor1 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 0) & 0x01;
csa_component23_fa17_or0 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 1) & 0x01;
csa_component23_fa18_xor1 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 0) & 0x01;
csa_component23_fa18_or0 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 1) & 0x01;
csa_component23_fa19_xor1 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 0) & 0x01;
csa_component23_fa19_or0 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 1) & 0x01;
csa_component23_fa20_xor1 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((c >> 20) & 0x01)) >> 0) & 0x01;
csa_component23_fa20_or0 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((c >> 20) & 0x01)) >> 1) & 0x01;
csa_component23_fa21_xor1 = (fa(((a >> 21) & 0x01), ((b >> 21) & 0x01), ((c >> 21) & 0x01)) >> 0) & 0x01;
csa_component23_fa21_or0 = (fa(((a >> 21) & 0x01), ((b >> 21) & 0x01), ((c >> 21) & 0x01)) >> 1) & 0x01;
csa_component23_fa22_xor1 = (fa(((a >> 22) & 0x01), ((b >> 22) & 0x01), ((c >> 22) & 0x01)) >> 0) & 0x01;
csa_component23_fa22_or0 = (fa(((a >> 22) & 0x01), ((b >> 22) & 0x01), ((c >> 22) & 0x01)) >> 1) & 0x01;
csa_component23_out |= ((csa_component23_fa0_xor1 >> 0) & 0x01ull) << 0;
csa_component23_out |= ((csa_component23_fa1_xor1 >> 0) & 0x01ull) << 1;
csa_component23_out |= ((csa_component23_fa2_xor1 >> 0) & 0x01ull) << 2;
csa_component23_out |= ((csa_component23_fa3_xor1 >> 0) & 0x01ull) << 3;
csa_component23_out |= ((csa_component23_fa4_xor1 >> 0) & 0x01ull) << 4;
csa_component23_out |= ((csa_component23_fa5_xor1 >> 0) & 0x01ull) << 5;
csa_component23_out |= ((csa_component23_fa6_xor1 >> 0) & 0x01ull) << 6;
csa_component23_out |= ((csa_component23_fa7_xor1 >> 0) & 0x01ull) << 7;
csa_component23_out |= ((csa_component23_fa8_xor1 >> 0) & 0x01ull) << 8;
csa_component23_out |= ((csa_component23_fa9_xor1 >> 0) & 0x01ull) << 9;
csa_component23_out |= ((csa_component23_fa10_xor1 >> 0) & 0x01ull) << 10;
csa_component23_out |= ((csa_component23_fa11_xor1 >> 0) & 0x01ull) << 11;
csa_component23_out |= ((csa_component23_fa12_xor1 >> 0) & 0x01ull) << 12;
csa_component23_out |= ((csa_component23_fa13_xor1 >> 0) & 0x01ull) << 13;
csa_component23_out |= ((csa_component23_fa14_xor1 >> 0) & 0x01ull) << 14;
csa_component23_out |= ((csa_component23_fa15_xor1 >> 0) & 0x01ull) << 15;
csa_component23_out |= ((csa_component23_fa16_xor1 >> 0) & 0x01ull) << 16;
csa_component23_out |= ((csa_component23_fa17_xor1 >> 0) & 0x01ull) << 17;
csa_component23_out |= ((csa_component23_fa18_xor1 >> 0) & 0x01ull) << 18;
csa_component23_out |= ((csa_component23_fa19_xor1 >> 0) & 0x01ull) << 19;
csa_component23_out |= ((csa_component23_fa20_xor1 >> 0) & 0x01ull) << 20;
csa_component23_out |= ((csa_component23_fa21_xor1 >> 0) & 0x01ull) << 21;
csa_component23_out |= ((csa_component23_fa22_xor1 >> 0) & 0x01ull) << 22;
csa_component23_out |= (0x00) << 23;
csa_component23_out |= (0x00) << 24;
csa_component23_out |= ((csa_component23_fa0_or0 >> 0) & 0x01ull) << 25;
csa_component23_out |= ((csa_component23_fa1_or0 >> 0) & 0x01ull) << 26;
csa_component23_out |= ((csa_component23_fa2_or0 >> 0) & 0x01ull) << 27;
csa_component23_out |= ((csa_component23_fa3_or0 >> 0) & 0x01ull) << 28;
csa_component23_out |= ((csa_component23_fa4_or0 >> 0) & 0x01ull) << 29;
csa_component23_out |= ((csa_component23_fa5_or0 >> 0) & 0x01ull) << 30;
csa_component23_out |= ((csa_component23_fa6_or0 >> 0) & 0x01ull) << 31;
csa_component23_out |= ((csa_component23_fa7_or0 >> 0) & 0x01ull) << 32;
csa_component23_out |= ((csa_component23_fa8_or0 >> 0) & 0x01ull) << 33;
csa_component23_out |= ((csa_component23_fa9_or0 >> 0) & 0x01ull) << 34;
csa_component23_out |= ((csa_component23_fa10_or0 >> 0) & 0x01ull) << 35;
csa_component23_out |= ((csa_component23_fa11_or0 >> 0) & 0x01ull) << 36;
csa_component23_out |= ((csa_component23_fa12_or0 >> 0) & 0x01ull) << 37;
csa_component23_out |= ((csa_component23_fa13_or0 >> 0) & 0x01ull) << 38;
csa_component23_out |= ((csa_component23_fa14_or0 >> 0) & 0x01ull) << 39;
csa_component23_out |= ((csa_component23_fa15_or0 >> 0) & 0x01ull) << 40;
csa_component23_out |= ((csa_component23_fa16_or0 >> 0) & 0x01ull) << 41;
csa_component23_out |= ((csa_component23_fa17_or0 >> 0) & 0x01ull) << 42;
csa_component23_out |= ((csa_component23_fa18_or0 >> 0) & 0x01ull) << 43;
csa_component23_out |= ((csa_component23_fa19_or0 >> 0) & 0x01ull) << 44;
csa_component23_out |= ((csa_component23_fa20_or0 >> 0) & 0x01ull) << 45;
csa_component23_out |= ((csa_component23_fa21_or0 >> 0) & 0x01ull) << 46;
csa_component23_out |= ((csa_component23_fa22_or0 >> 0) & 0x01ull) << 47;
return csa_component23_out;
}
uint64_t csa_component18(uint64_t a, uint64_t b, uint64_t c){
uint64_t csa_component18_out = 0;
uint8_t csa_component18_fa0_xor1 = 0;
uint8_t csa_component18_fa0_or0 = 0;
uint8_t csa_component18_fa1_xor1 = 0;
uint8_t csa_component18_fa1_or0 = 0;
uint8_t csa_component18_fa2_xor1 = 0;
uint8_t csa_component18_fa2_or0 = 0;
uint8_t csa_component18_fa3_xor1 = 0;
uint8_t csa_component18_fa3_or0 = 0;
uint8_t csa_component18_fa4_xor1 = 0;
uint8_t csa_component18_fa4_or0 = 0;
uint8_t csa_component18_fa5_xor1 = 0;
uint8_t csa_component18_fa5_or0 = 0;
uint8_t csa_component18_fa6_xor1 = 0;
uint8_t csa_component18_fa6_or0 = 0;
uint8_t csa_component18_fa7_xor1 = 0;
uint8_t csa_component18_fa7_or0 = 0;
uint8_t csa_component18_fa8_xor1 = 0;
uint8_t csa_component18_fa8_or0 = 0;
uint8_t csa_component18_fa9_xor1 = 0;
uint8_t csa_component18_fa9_or0 = 0;
uint8_t csa_component18_fa10_xor1 = 0;
uint8_t csa_component18_fa10_or0 = 0;
uint8_t csa_component18_fa11_xor1 = 0;
uint8_t csa_component18_fa11_or0 = 0;
uint8_t csa_component18_fa12_xor1 = 0;
uint8_t csa_component18_fa12_or0 = 0;
uint8_t csa_component18_fa13_xor1 = 0;
uint8_t csa_component18_fa13_or0 = 0;
uint8_t csa_component18_fa14_xor1 = 0;
uint8_t csa_component18_fa14_or0 = 0;
uint8_t csa_component18_fa15_xor1 = 0;
uint8_t csa_component18_fa15_or0 = 0;
uint8_t csa_component18_fa16_xor1 = 0;
uint8_t csa_component18_fa16_or0 = 0;
uint8_t csa_component18_fa17_xor1 = 0;
uint8_t csa_component18_fa17_or0 = 0;
csa_component18_fa0_xor1 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 0) & 0x01;
csa_component18_fa0_or0 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 1) & 0x01;
csa_component18_fa1_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 0) & 0x01;
csa_component18_fa1_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 1) & 0x01;
csa_component18_fa2_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 0) & 0x01;
csa_component18_fa2_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 1) & 0x01;
csa_component18_fa3_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 0) & 0x01;
csa_component18_fa3_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 1) & 0x01;
csa_component18_fa4_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 0) & 0x01;
csa_component18_fa4_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 1) & 0x01;
csa_component18_fa5_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 0) & 0x01;
csa_component18_fa5_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 1) & 0x01;
csa_component18_fa6_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 0) & 0x01;
csa_component18_fa6_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 1) & 0x01;
csa_component18_fa7_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 0) & 0x01;
csa_component18_fa7_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 1) & 0x01;
csa_component18_fa8_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 0) & 0x01;
csa_component18_fa8_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 1) & 0x01;
csa_component18_fa9_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 0) & 0x01;
csa_component18_fa9_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 1) & 0x01;
csa_component18_fa10_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 0) & 0x01;
csa_component18_fa10_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 1) & 0x01;
csa_component18_fa11_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 0) & 0x01;
csa_component18_fa11_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 1) & 0x01;
csa_component18_fa12_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 0) & 0x01;
csa_component18_fa12_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 1) & 0x01;
csa_component18_fa13_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 0) & 0x01;
csa_component18_fa13_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 1) & 0x01;
csa_component18_fa14_xor1 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 0) & 0x01;
csa_component18_fa14_or0 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 1) & 0x01;
csa_component18_fa15_xor1 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 0) & 0x01;
csa_component18_fa15_or0 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 1) & 0x01;
csa_component18_fa16_xor1 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 0) & 0x01;
csa_component18_fa16_or0 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 1) & 0x01;
csa_component18_fa17_xor1 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 0) & 0x01;
csa_component18_fa17_or0 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 1) & 0x01;
csa_component18_out |= ((csa_component18_fa0_xor1 >> 0) & 0x01ull) << 0;
csa_component18_out |= ((csa_component18_fa1_xor1 >> 0) & 0x01ull) << 1;
csa_component18_out |= ((csa_component18_fa2_xor1 >> 0) & 0x01ull) << 2;
csa_component18_out |= ((csa_component18_fa3_xor1 >> 0) & 0x01ull) << 3;
csa_component18_out |= ((csa_component18_fa4_xor1 >> 0) & 0x01ull) << 4;
csa_component18_out |= ((csa_component18_fa5_xor1 >> 0) & 0x01ull) << 5;
csa_component18_out |= ((csa_component18_fa6_xor1 >> 0) & 0x01ull) << 6;
csa_component18_out |= ((csa_component18_fa7_xor1 >> 0) & 0x01ull) << 7;
csa_component18_out |= ((csa_component18_fa8_xor1 >> 0) & 0x01ull) << 8;
csa_component18_out |= ((csa_component18_fa9_xor1 >> 0) & 0x01ull) << 9;
csa_component18_out |= ((csa_component18_fa10_xor1 >> 0) & 0x01ull) << 10;
csa_component18_out |= ((csa_component18_fa11_xor1 >> 0) & 0x01ull) << 11;
csa_component18_out |= ((csa_component18_fa12_xor1 >> 0) & 0x01ull) << 12;
csa_component18_out |= ((csa_component18_fa13_xor1 >> 0) & 0x01ull) << 13;
csa_component18_out |= ((csa_component18_fa14_xor1 >> 0) & 0x01ull) << 14;
csa_component18_out |= ((csa_component18_fa15_xor1 >> 0) & 0x01ull) << 15;
csa_component18_out |= ((csa_component18_fa16_xor1 >> 0) & 0x01ull) << 16;
csa_component18_out |= ((csa_component18_fa17_xor1 >> 0) & 0x01ull) << 17;
csa_component18_out |= (0x00) << 18;
csa_component18_out |= (0x00) << 19;
csa_component18_out |= ((csa_component18_fa0_or0 >> 0) & 0x01ull) << 20;
csa_component18_out |= ((csa_component18_fa1_or0 >> 0) & 0x01ull) << 21;
csa_component18_out |= ((csa_component18_fa2_or0 >> 0) & 0x01ull) << 22;
csa_component18_out |= ((csa_component18_fa3_or0 >> 0) & 0x01ull) << 23;
csa_component18_out |= ((csa_component18_fa4_or0 >> 0) & 0x01ull) << 24;
csa_component18_out |= ((csa_component18_fa5_or0 >> 0) & 0x01ull) << 25;
csa_component18_out |= ((csa_component18_fa6_or0 >> 0) & 0x01ull) << 26;
csa_component18_out |= ((csa_component18_fa7_or0 >> 0) & 0x01ull) << 27;
csa_component18_out |= ((csa_component18_fa8_or0 >> 0) & 0x01ull) << 28;
csa_component18_out |= ((csa_component18_fa9_or0 >> 0) & 0x01ull) << 29;
csa_component18_out |= ((csa_component18_fa10_or0 >> 0) & 0x01ull) << 30;
csa_component18_out |= ((csa_component18_fa11_or0 >> 0) & 0x01ull) << 31;
csa_component18_out |= ((csa_component18_fa12_or0 >> 0) & 0x01ull) << 32;
csa_component18_out |= ((csa_component18_fa13_or0 >> 0) & 0x01ull) << 33;
csa_component18_out |= ((csa_component18_fa14_or0 >> 0) & 0x01ull) << 34;
csa_component18_out |= ((csa_component18_fa15_or0 >> 0) & 0x01ull) << 35;
csa_component18_out |= ((csa_component18_fa16_or0 >> 0) & 0x01ull) << 36;
csa_component18_out |= ((csa_component18_fa17_or0 >> 0) & 0x01ull) << 37;
return csa_component18_out;
}
uint64_t csa_component21(uint64_t a, uint64_t b, uint64_t c){
uint64_t csa_component21_out = 0;
uint8_t csa_component21_fa0_xor1 = 0;
uint8_t csa_component21_fa0_or0 = 0;
uint8_t csa_component21_fa1_xor1 = 0;
uint8_t csa_component21_fa1_or0 = 0;
uint8_t csa_component21_fa2_xor1 = 0;
uint8_t csa_component21_fa2_or0 = 0;
uint8_t csa_component21_fa3_xor1 = 0;
uint8_t csa_component21_fa3_or0 = 0;
uint8_t csa_component21_fa4_xor1 = 0;
uint8_t csa_component21_fa4_or0 = 0;
uint8_t csa_component21_fa5_xor1 = 0;
uint8_t csa_component21_fa5_or0 = 0;
uint8_t csa_component21_fa6_xor1 = 0;
uint8_t csa_component21_fa6_or0 = 0;
uint8_t csa_component21_fa7_xor1 = 0;
uint8_t csa_component21_fa7_or0 = 0;
uint8_t csa_component21_fa8_xor1 = 0;
uint8_t csa_component21_fa8_or0 = 0;
uint8_t csa_component21_fa9_xor1 = 0;
uint8_t csa_component21_fa9_or0 = 0;
uint8_t csa_component21_fa10_xor1 = 0;
uint8_t csa_component21_fa10_or0 = 0;
uint8_t csa_component21_fa11_xor1 = 0;
uint8_t csa_component21_fa11_or0 = 0;
uint8_t csa_component21_fa12_xor1 = 0;
uint8_t csa_component21_fa12_or0 = 0;
uint8_t csa_component21_fa13_xor1 = 0;
uint8_t csa_component21_fa13_or0 = 0;
uint8_t csa_component21_fa14_xor1 = 0;
uint8_t csa_component21_fa14_or0 = 0;
uint8_t csa_component21_fa15_xor1 = 0;
uint8_t csa_component21_fa15_or0 = 0;
uint8_t csa_component21_fa16_xor1 = 0;
uint8_t csa_component21_fa16_or0 = 0;
uint8_t csa_component21_fa17_xor1 = 0;
uint8_t csa_component21_fa17_or0 = 0;
uint8_t csa_component21_fa18_xor1 = 0;
uint8_t csa_component21_fa18_or0 = 0;
uint8_t csa_component21_fa19_xor1 = 0;
uint8_t csa_component21_fa19_or0 = 0;
uint8_t csa_component21_fa20_xor1 = 0;
uint8_t csa_component21_fa20_or0 = 0;
csa_component21_fa0_xor1 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 0) & 0x01;
csa_component21_fa0_or0 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 1) & 0x01;
csa_component21_fa1_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 0) & 0x01;
csa_component21_fa1_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 1) & 0x01;
csa_component21_fa2_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 0) & 0x01;
csa_component21_fa2_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 1) & 0x01;
csa_component21_fa3_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 0) & 0x01;
csa_component21_fa3_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 1) & 0x01;
csa_component21_fa4_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 0) & 0x01;
csa_component21_fa4_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 1) & 0x01;
csa_component21_fa5_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 0) & 0x01;
csa_component21_fa5_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 1) & 0x01;
csa_component21_fa6_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 0) & 0x01;
csa_component21_fa6_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 1) & 0x01;
csa_component21_fa7_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 0) & 0x01;
csa_component21_fa7_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 1) & 0x01;
csa_component21_fa8_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 0) & 0x01;
csa_component21_fa8_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 1) & 0x01;
csa_component21_fa9_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 0) & 0x01;
csa_component21_fa9_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 1) & 0x01;
csa_component21_fa10_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 0) & 0x01;
csa_component21_fa10_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 1) & 0x01;
csa_component21_fa11_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 0) & 0x01;
csa_component21_fa11_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 1) & 0x01;
csa_component21_fa12_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 0) & 0x01;
csa_component21_fa12_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 1) & 0x01;
csa_component21_fa13_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 0) & 0x01;
csa_component21_fa13_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 1) & 0x01;
csa_component21_fa14_xor1 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 0) & 0x01;
csa_component21_fa14_or0 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 1) & 0x01;
csa_component21_fa15_xor1 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 0) & 0x01;
csa_component21_fa15_or0 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 1) & 0x01;
csa_component21_fa16_xor1 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 0) & 0x01;
csa_component21_fa16_or0 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 1) & 0x01;
csa_component21_fa17_xor1 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 0) & 0x01;
csa_component21_fa17_or0 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 1) & 0x01;
csa_component21_fa18_xor1 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 0) & 0x01;
csa_component21_fa18_or0 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 1) & 0x01;
csa_component21_fa19_xor1 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 0) & 0x01;
csa_component21_fa19_or0 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 1) & 0x01;
csa_component21_fa20_xor1 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((c >> 20) & 0x01)) >> 0) & 0x01;
csa_component21_fa20_or0 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((c >> 20) & 0x01)) >> 1) & 0x01;
csa_component21_out |= ((csa_component21_fa0_xor1 >> 0) & 0x01ull) << 0;
csa_component21_out |= ((csa_component21_fa1_xor1 >> 0) & 0x01ull) << 1;
csa_component21_out |= ((csa_component21_fa2_xor1 >> 0) & 0x01ull) << 2;
csa_component21_out |= ((csa_component21_fa3_xor1 >> 0) & 0x01ull) << 3;
csa_component21_out |= ((csa_component21_fa4_xor1 >> 0) & 0x01ull) << 4;
csa_component21_out |= ((csa_component21_fa5_xor1 >> 0) & 0x01ull) << 5;
csa_component21_out |= ((csa_component21_fa6_xor1 >> 0) & 0x01ull) << 6;
csa_component21_out |= ((csa_component21_fa7_xor1 >> 0) & 0x01ull) << 7;
csa_component21_out |= ((csa_component21_fa8_xor1 >> 0) & 0x01ull) << 8;
csa_component21_out |= ((csa_component21_fa9_xor1 >> 0) & 0x01ull) << 9;
csa_component21_out |= ((csa_component21_fa10_xor1 >> 0) & 0x01ull) << 10;
csa_component21_out |= ((csa_component21_fa11_xor1 >> 0) & 0x01ull) << 11;
csa_component21_out |= ((csa_component21_fa12_xor1 >> 0) & 0x01ull) << 12;
csa_component21_out |= ((csa_component21_fa13_xor1 >> 0) & 0x01ull) << 13;
csa_component21_out |= ((csa_component21_fa14_xor1 >> 0) & 0x01ull) << 14;
csa_component21_out |= ((csa_component21_fa15_xor1 >> 0) & 0x01ull) << 15;
csa_component21_out |= ((csa_component21_fa16_xor1 >> 0) & 0x01ull) << 16;
csa_component21_out |= ((csa_component21_fa17_xor1 >> 0) & 0x01ull) << 17;
csa_component21_out |= ((csa_component21_fa18_xor1 >> 0) & 0x01ull) << 18;
csa_component21_out |= ((csa_component21_fa19_xor1 >> 0) & 0x01ull) << 19;
csa_component21_out |= ((csa_component21_fa20_xor1 >> 0) & 0x01ull) << 20;
csa_component21_out |= (0x00) << 21;
csa_component21_out |= (0x00) << 22;
csa_component21_out |= ((csa_component21_fa0_or0 >> 0) & 0x01ull) << 23;
csa_component21_out |= ((csa_component21_fa1_or0 >> 0) & 0x01ull) << 24;
csa_component21_out |= ((csa_component21_fa2_or0 >> 0) & 0x01ull) << 25;
csa_component21_out |= ((csa_component21_fa3_or0 >> 0) & 0x01ull) << 26;
csa_component21_out |= ((csa_component21_fa4_or0 >> 0) & 0x01ull) << 27;
csa_component21_out |= ((csa_component21_fa5_or0 >> 0) & 0x01ull) << 28;
csa_component21_out |= ((csa_component21_fa6_or0 >> 0) & 0x01ull) << 29;
csa_component21_out |= ((csa_component21_fa7_or0 >> 0) & 0x01ull) << 30;
csa_component21_out |= ((csa_component21_fa8_or0 >> 0) & 0x01ull) << 31;
csa_component21_out |= ((csa_component21_fa9_or0 >> 0) & 0x01ull) << 32;
csa_component21_out |= ((csa_component21_fa10_or0 >> 0) & 0x01ull) << 33;
csa_component21_out |= ((csa_component21_fa11_or0 >> 0) & 0x01ull) << 34;
csa_component21_out |= ((csa_component21_fa12_or0 >> 0) & 0x01ull) << 35;
csa_component21_out |= ((csa_component21_fa13_or0 >> 0) & 0x01ull) << 36;
csa_component21_out |= ((csa_component21_fa14_or0 >> 0) & 0x01ull) << 37;
csa_component21_out |= ((csa_component21_fa15_or0 >> 0) & 0x01ull) << 38;
csa_component21_out |= ((csa_component21_fa16_or0 >> 0) & 0x01ull) << 39;
csa_component21_out |= ((csa_component21_fa17_or0 >> 0) & 0x01ull) << 40;
csa_component21_out |= ((csa_component21_fa18_or0 >> 0) & 0x01ull) << 41;
csa_component21_out |= ((csa_component21_fa19_or0 >> 0) & 0x01ull) << 42;
csa_component21_out |= ((csa_component21_fa20_or0 >> 0) & 0x01ull) << 43;
return csa_component21_out;
}
uint64_t csa_component22(uint64_t a, uint64_t b, uint64_t c){
uint64_t csa_component22_out = 0;
uint8_t csa_component22_fa0_xor1 = 0;
uint8_t csa_component22_fa0_or0 = 0;
uint8_t csa_component22_fa1_xor1 = 0;
uint8_t csa_component22_fa1_or0 = 0;
uint8_t csa_component22_fa2_xor1 = 0;
uint8_t csa_component22_fa2_or0 = 0;
uint8_t csa_component22_fa3_xor1 = 0;
uint8_t csa_component22_fa3_or0 = 0;
uint8_t csa_component22_fa4_xor1 = 0;
uint8_t csa_component22_fa4_or0 = 0;
uint8_t csa_component22_fa5_xor1 = 0;
uint8_t csa_component22_fa5_or0 = 0;
uint8_t csa_component22_fa6_xor1 = 0;
uint8_t csa_component22_fa6_or0 = 0;
uint8_t csa_component22_fa7_xor1 = 0;
uint8_t csa_component22_fa7_or0 = 0;
uint8_t csa_component22_fa8_xor1 = 0;
uint8_t csa_component22_fa8_or0 = 0;
uint8_t csa_component22_fa9_xor1 = 0;
uint8_t csa_component22_fa9_or0 = 0;
uint8_t csa_component22_fa10_xor1 = 0;
uint8_t csa_component22_fa10_or0 = 0;
uint8_t csa_component22_fa11_xor1 = 0;
uint8_t csa_component22_fa11_or0 = 0;
uint8_t csa_component22_fa12_xor1 = 0;
uint8_t csa_component22_fa12_or0 = 0;
uint8_t csa_component22_fa13_xor1 = 0;
uint8_t csa_component22_fa13_or0 = 0;
uint8_t csa_component22_fa14_xor1 = 0;
uint8_t csa_component22_fa14_or0 = 0;
uint8_t csa_component22_fa15_xor1 = 0;
uint8_t csa_component22_fa15_or0 = 0;
uint8_t csa_component22_fa16_xor1 = 0;
uint8_t csa_component22_fa16_or0 = 0;
uint8_t csa_component22_fa17_xor1 = 0;
uint8_t csa_component22_fa17_or0 = 0;
uint8_t csa_component22_fa18_xor1 = 0;
uint8_t csa_component22_fa18_or0 = 0;
uint8_t csa_component22_fa19_xor1 = 0;
uint8_t csa_component22_fa19_or0 = 0;
uint8_t csa_component22_fa20_xor1 = 0;
uint8_t csa_component22_fa20_or0 = 0;
uint8_t csa_component22_fa21_xor1 = 0;
uint8_t csa_component22_fa21_or0 = 0;
csa_component22_fa0_xor1 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 0) & 0x01;
csa_component22_fa0_or0 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 1) & 0x01;
csa_component22_fa1_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 0) & 0x01;
csa_component22_fa1_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 1) & 0x01;
csa_component22_fa2_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 0) & 0x01;
csa_component22_fa2_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 1) & 0x01;
csa_component22_fa3_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 0) & 0x01;
csa_component22_fa3_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 1) & 0x01;
csa_component22_fa4_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 0) & 0x01;
csa_component22_fa4_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 1) & 0x01;
csa_component22_fa5_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 0) & 0x01;
csa_component22_fa5_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 1) & 0x01;
csa_component22_fa6_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 0) & 0x01;
csa_component22_fa6_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 1) & 0x01;
csa_component22_fa7_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 0) & 0x01;
csa_component22_fa7_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 1) & 0x01;
csa_component22_fa8_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 0) & 0x01;
csa_component22_fa8_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 1) & 0x01;
csa_component22_fa9_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 0) & 0x01;
csa_component22_fa9_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 1) & 0x01;
csa_component22_fa10_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 0) & 0x01;
csa_component22_fa10_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 1) & 0x01;
csa_component22_fa11_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 0) & 0x01;
csa_component22_fa11_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 1) & 0x01;
csa_component22_fa12_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 0) & 0x01;
csa_component22_fa12_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 1) & 0x01;
csa_component22_fa13_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 0) & 0x01;
csa_component22_fa13_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 1) & 0x01;
csa_component22_fa14_xor1 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 0) & 0x01;
csa_component22_fa14_or0 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 1) & 0x01;
csa_component22_fa15_xor1 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 0) & 0x01;
csa_component22_fa15_or0 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 1) & 0x01;
csa_component22_fa16_xor1 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 0) & 0x01;
csa_component22_fa16_or0 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 1) & 0x01;
csa_component22_fa17_xor1 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 0) & 0x01;
csa_component22_fa17_or0 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 1) & 0x01;
csa_component22_fa18_xor1 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 0) & 0x01;
csa_component22_fa18_or0 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 1) & 0x01;
csa_component22_fa19_xor1 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 0) & 0x01;
csa_component22_fa19_or0 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 1) & 0x01;
csa_component22_fa20_xor1 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((c >> 20) & 0x01)) >> 0) & 0x01;
csa_component22_fa20_or0 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((c >> 20) & 0x01)) >> 1) & 0x01;
csa_component22_fa21_xor1 = (fa(((a >> 21) & 0x01), ((b >> 21) & 0x01), ((c >> 21) & 0x01)) >> 0) & 0x01;
csa_component22_fa21_or0 = (fa(((a >> 21) & 0x01), ((b >> 21) & 0x01), ((c >> 21) & 0x01)) >> 1) & 0x01;
csa_component22_out |= ((csa_component22_fa0_xor1 >> 0) & 0x01ull) << 0;
csa_component22_out |= ((csa_component22_fa1_xor1 >> 0) & 0x01ull) << 1;
csa_component22_out |= ((csa_component22_fa2_xor1 >> 0) & 0x01ull) << 2;
csa_component22_out |= ((csa_component22_fa3_xor1 >> 0) & 0x01ull) << 3;
csa_component22_out |= ((csa_component22_fa4_xor1 >> 0) & 0x01ull) << 4;
csa_component22_out |= ((csa_component22_fa5_xor1 >> 0) & 0x01ull) << 5;
csa_component22_out |= ((csa_component22_fa6_xor1 >> 0) & 0x01ull) << 6;
csa_component22_out |= ((csa_component22_fa7_xor1 >> 0) & 0x01ull) << 7;
csa_component22_out |= ((csa_component22_fa8_xor1 >> 0) & 0x01ull) << 8;
csa_component22_out |= ((csa_component22_fa9_xor1 >> 0) & 0x01ull) << 9;
csa_component22_out |= ((csa_component22_fa10_xor1 >> 0) & 0x01ull) << 10;
csa_component22_out |= ((csa_component22_fa11_xor1 >> 0) & 0x01ull) << 11;
csa_component22_out |= ((csa_component22_fa12_xor1 >> 0) & 0x01ull) << 12;
csa_component22_out |= ((csa_component22_fa13_xor1 >> 0) & 0x01ull) << 13;
csa_component22_out |= ((csa_component22_fa14_xor1 >> 0) & 0x01ull) << 14;
csa_component22_out |= ((csa_component22_fa15_xor1 >> 0) & 0x01ull) << 15;
csa_component22_out |= ((csa_component22_fa16_xor1 >> 0) & 0x01ull) << 16;
csa_component22_out |= ((csa_component22_fa17_xor1 >> 0) & 0x01ull) << 17;
csa_component22_out |= ((csa_component22_fa18_xor1 >> 0) & 0x01ull) << 18;
csa_component22_out |= ((csa_component22_fa19_xor1 >> 0) & 0x01ull) << 19;
csa_component22_out |= ((csa_component22_fa20_xor1 >> 0) & 0x01ull) << 20;
csa_component22_out |= ((csa_component22_fa21_xor1 >> 0) & 0x01ull) << 21;
csa_component22_out |= (0x00) << 22;
csa_component22_out |= (0x00) << 23;
csa_component22_out |= ((csa_component22_fa0_or0 >> 0) & 0x01ull) << 24;
csa_component22_out |= ((csa_component22_fa1_or0 >> 0) & 0x01ull) << 25;
csa_component22_out |= ((csa_component22_fa2_or0 >> 0) & 0x01ull) << 26;
csa_component22_out |= ((csa_component22_fa3_or0 >> 0) & 0x01ull) << 27;
csa_component22_out |= ((csa_component22_fa4_or0 >> 0) & 0x01ull) << 28;
csa_component22_out |= ((csa_component22_fa5_or0 >> 0) & 0x01ull) << 29;
csa_component22_out |= ((csa_component22_fa6_or0 >> 0) & 0x01ull) << 30;
csa_component22_out |= ((csa_component22_fa7_or0 >> 0) & 0x01ull) << 31;
csa_component22_out |= ((csa_component22_fa8_or0 >> 0) & 0x01ull) << 32;
csa_component22_out |= ((csa_component22_fa9_or0 >> 0) & 0x01ull) << 33;
csa_component22_out |= ((csa_component22_fa10_or0 >> 0) & 0x01ull) << 34;
csa_component22_out |= ((csa_component22_fa11_or0 >> 0) & 0x01ull) << 35;
csa_component22_out |= ((csa_component22_fa12_or0 >> 0) & 0x01ull) << 36;
csa_component22_out |= ((csa_component22_fa13_or0 >> 0) & 0x01ull) << 37;
csa_component22_out |= ((csa_component22_fa14_or0 >> 0) & 0x01ull) << 38;
csa_component22_out |= ((csa_component22_fa15_or0 >> 0) & 0x01ull) << 39;
csa_component22_out |= ((csa_component22_fa16_or0 >> 0) & 0x01ull) << 40;
csa_component22_out |= ((csa_component22_fa17_or0 >> 0) & 0x01ull) << 41;
csa_component22_out |= ((csa_component22_fa18_or0 >> 0) & 0x01ull) << 42;
csa_component22_out |= ((csa_component22_fa19_or0 >> 0) & 0x01ull) << 43;
csa_component22_out |= ((csa_component22_fa20_or0 >> 0) & 0x01ull) << 44;
csa_component22_out |= ((csa_component22_fa21_or0 >> 0) & 0x01ull) << 45;
return csa_component22_out;
}
uint64_t csa_component24(uint64_t a, uint64_t b, uint64_t c){
uint64_t csa_component24_out = 0;
uint8_t csa_component24_fa0_xor1 = 0;
uint8_t csa_component24_fa0_or0 = 0;
uint8_t csa_component24_fa1_xor1 = 0;
uint8_t csa_component24_fa1_or0 = 0;
uint8_t csa_component24_fa2_xor1 = 0;
uint8_t csa_component24_fa2_or0 = 0;
uint8_t csa_component24_fa3_xor1 = 0;
uint8_t csa_component24_fa3_or0 = 0;
uint8_t csa_component24_fa4_xor1 = 0;
uint8_t csa_component24_fa4_or0 = 0;
uint8_t csa_component24_fa5_xor1 = 0;
uint8_t csa_component24_fa5_or0 = 0;
uint8_t csa_component24_fa6_xor1 = 0;
uint8_t csa_component24_fa6_or0 = 0;
uint8_t csa_component24_fa7_xor1 = 0;
uint8_t csa_component24_fa7_or0 = 0;
uint8_t csa_component24_fa8_xor1 = 0;
uint8_t csa_component24_fa8_or0 = 0;
uint8_t csa_component24_fa9_xor1 = 0;
uint8_t csa_component24_fa9_or0 = 0;
uint8_t csa_component24_fa10_xor1 = 0;
uint8_t csa_component24_fa10_or0 = 0;
uint8_t csa_component24_fa11_xor1 = 0;
uint8_t csa_component24_fa11_or0 = 0;
uint8_t csa_component24_fa12_xor1 = 0;
uint8_t csa_component24_fa12_or0 = 0;
uint8_t csa_component24_fa13_xor1 = 0;
uint8_t csa_component24_fa13_or0 = 0;
uint8_t csa_component24_fa14_xor1 = 0;
uint8_t csa_component24_fa14_or0 = 0;
uint8_t csa_component24_fa15_xor1 = 0;
uint8_t csa_component24_fa15_or0 = 0;
uint8_t csa_component24_fa16_xor1 = 0;
uint8_t csa_component24_fa16_or0 = 0;
uint8_t csa_component24_fa17_xor1 = 0;
uint8_t csa_component24_fa17_or0 = 0;
uint8_t csa_component24_fa18_xor1 = 0;
uint8_t csa_component24_fa18_or0 = 0;
uint8_t csa_component24_fa19_xor1 = 0;
uint8_t csa_component24_fa19_or0 = 0;
uint8_t csa_component24_fa20_xor1 = 0;
uint8_t csa_component24_fa20_or0 = 0;
uint8_t csa_component24_fa21_xor1 = 0;
uint8_t csa_component24_fa21_or0 = 0;
uint8_t csa_component24_fa22_xor1 = 0;
uint8_t csa_component24_fa22_or0 = 0;
uint8_t csa_component24_fa23_xor1 = 0;
uint8_t csa_component24_fa23_or0 = 0;
csa_component24_fa0_xor1 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 0) & 0x01;
csa_component24_fa0_or0 = (fa(((a >> 0) & 0x01), ((b >> 0) & 0x01), ((c >> 0) & 0x01)) >> 1) & 0x01;
csa_component24_fa1_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 0) & 0x01;
csa_component24_fa1_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((c >> 1) & 0x01)) >> 1) & 0x01;
csa_component24_fa2_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 0) & 0x01;
csa_component24_fa2_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((c >> 2) & 0x01)) >> 1) & 0x01;
csa_component24_fa3_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 0) & 0x01;
csa_component24_fa3_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((c >> 3) & 0x01)) >> 1) & 0x01;
csa_component24_fa4_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 0) & 0x01;
csa_component24_fa4_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((c >> 4) & 0x01)) >> 1) & 0x01;
csa_component24_fa5_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 0) & 0x01;
csa_component24_fa5_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((c >> 5) & 0x01)) >> 1) & 0x01;
csa_component24_fa6_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 0) & 0x01;
csa_component24_fa6_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((c >> 6) & 0x01)) >> 1) & 0x01;
csa_component24_fa7_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 0) & 0x01;
csa_component24_fa7_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((c >> 7) & 0x01)) >> 1) & 0x01;
csa_component24_fa8_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 0) & 0x01;
csa_component24_fa8_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((c >> 8) & 0x01)) >> 1) & 0x01;
csa_component24_fa9_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 0) & 0x01;
csa_component24_fa9_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((c >> 9) & 0x01)) >> 1) & 0x01;
csa_component24_fa10_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 0) & 0x01;
csa_component24_fa10_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((c >> 10) & 0x01)) >> 1) & 0x01;
csa_component24_fa11_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 0) & 0x01;
csa_component24_fa11_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((c >> 11) & 0x01)) >> 1) & 0x01;
csa_component24_fa12_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 0) & 0x01;
csa_component24_fa12_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((c >> 12) & 0x01)) >> 1) & 0x01;
csa_component24_fa13_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 0) & 0x01;
csa_component24_fa13_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((c >> 13) & 0x01)) >> 1) & 0x01;
csa_component24_fa14_xor1 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 0) & 0x01;
csa_component24_fa14_or0 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((c >> 14) & 0x01)) >> 1) & 0x01;
csa_component24_fa15_xor1 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 0) & 0x01;
csa_component24_fa15_or0 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((c >> 15) & 0x01)) >> 1) & 0x01;
csa_component24_fa16_xor1 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 0) & 0x01;
csa_component24_fa16_or0 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((c >> 16) & 0x01)) >> 1) & 0x01;
csa_component24_fa17_xor1 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 0) & 0x01;
csa_component24_fa17_or0 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((c >> 17) & 0x01)) >> 1) & 0x01;
csa_component24_fa18_xor1 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 0) & 0x01;
csa_component24_fa18_or0 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((c >> 18) & 0x01)) >> 1) & 0x01;
csa_component24_fa19_xor1 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 0) & 0x01;
csa_component24_fa19_or0 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((c >> 19) & 0x01)) >> 1) & 0x01;
csa_component24_fa20_xor1 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((c >> 20) & 0x01)) >> 0) & 0x01;
csa_component24_fa20_or0 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((c >> 20) & 0x01)) >> 1) & 0x01;
csa_component24_fa21_xor1 = (fa(((a >> 21) & 0x01), ((b >> 21) & 0x01), ((c >> 21) & 0x01)) >> 0) & 0x01;
csa_component24_fa21_or0 = (fa(((a >> 21) & 0x01), ((b >> 21) & 0x01), ((c >> 21) & 0x01)) >> 1) & 0x01;
csa_component24_fa22_xor1 = (fa(((a >> 22) & 0x01), ((b >> 22) & 0x01), ((c >> 22) & 0x01)) >> 0) & 0x01;
csa_component24_fa22_or0 = (fa(((a >> 22) & 0x01), ((b >> 22) & 0x01), ((c >> 22) & 0x01)) >> 1) & 0x01;
csa_component24_fa23_xor1 = (fa(((a >> 23) & 0x01), ((b >> 23) & 0x01), ((c >> 23) & 0x01)) >> 0) & 0x01;
csa_component24_fa23_or0 = (fa(((a >> 23) & 0x01), ((b >> 23) & 0x01), ((c >> 23) & 0x01)) >> 1) & 0x01;
csa_component24_out |= ((csa_component24_fa0_xor1 >> 0) & 0x01ull) << 0;
csa_component24_out |= ((csa_component24_fa1_xor1 >> 0) & 0x01ull) << 1;
csa_component24_out |= ((csa_component24_fa2_xor1 >> 0) & 0x01ull) << 2;
csa_component24_out |= ((csa_component24_fa3_xor1 >> 0) & 0x01ull) << 3;
csa_component24_out |= ((csa_component24_fa4_xor1 >> 0) & 0x01ull) << 4;
csa_component24_out |= ((csa_component24_fa5_xor1 >> 0) & 0x01ull) << 5;
csa_component24_out |= ((csa_component24_fa6_xor1 >> 0) & 0x01ull) << 6;
csa_component24_out |= ((csa_component24_fa7_xor1 >> 0) & 0x01ull) << 7;
csa_component24_out |= ((csa_component24_fa8_xor1 >> 0) & 0x01ull) << 8;
csa_component24_out |= ((csa_component24_fa9_xor1 >> 0) & 0x01ull) << 9;
csa_component24_out |= ((csa_component24_fa10_xor1 >> 0) & 0x01ull) << 10;
csa_component24_out |= ((csa_component24_fa11_xor1 >> 0) & 0x01ull) << 11;
csa_component24_out |= ((csa_component24_fa12_xor1 >> 0) & 0x01ull) << 12;
csa_component24_out |= ((csa_component24_fa13_xor1 >> 0) & 0x01ull) << 13;
csa_component24_out |= ((csa_component24_fa14_xor1 >> 0) & 0x01ull) << 14;
csa_component24_out |= ((csa_component24_fa15_xor1 >> 0) & 0x01ull) << 15;
csa_component24_out |= ((csa_component24_fa16_xor1 >> 0) & 0x01ull) << 16;
csa_component24_out |= ((csa_component24_fa17_xor1 >> 0) & 0x01ull) << 17;
csa_component24_out |= ((csa_component24_fa18_xor1 >> 0) & 0x01ull) << 18;
csa_component24_out |= ((csa_component24_fa19_xor1 >> 0) & 0x01ull) << 19;
csa_component24_out |= ((csa_component24_fa20_xor1 >> 0) & 0x01ull) << 20;
csa_component24_out |= ((csa_component24_fa21_xor1 >> 0) & 0x01ull) << 21;
csa_component24_out |= ((csa_component24_fa22_xor1 >> 0) & 0x01ull) << 22;
csa_component24_out |= ((csa_component24_fa23_xor1 >> 0) & 0x01ull) << 23;
csa_component24_out |= (0x00) << 24;
csa_component24_out |= (0x00) << 25;
csa_component24_out |= ((csa_component24_fa0_or0 >> 0) & 0x01ull) << 26;
csa_component24_out |= ((csa_component24_fa1_or0 >> 0) & 0x01ull) << 27;
csa_component24_out |= ((csa_component24_fa2_or0 >> 0) & 0x01ull) << 28;
csa_component24_out |= ((csa_component24_fa3_or0 >> 0) & 0x01ull) << 29;
csa_component24_out |= ((csa_component24_fa4_or0 >> 0) & 0x01ull) << 30;
csa_component24_out |= ((csa_component24_fa5_or0 >> 0) & 0x01ull) << 31;
csa_component24_out |= ((csa_component24_fa6_or0 >> 0) & 0x01ull) << 32;
csa_component24_out |= ((csa_component24_fa7_or0 >> 0) & 0x01ull) << 33;
csa_component24_out |= ((csa_component24_fa8_or0 >> 0) & 0x01ull) << 34;
csa_component24_out |= ((csa_component24_fa9_or0 >> 0) & 0x01ull) << 35;
csa_component24_out |= ((csa_component24_fa10_or0 >> 0) & 0x01ull) << 36;
csa_component24_out |= ((csa_component24_fa11_or0 >> 0) & 0x01ull) << 37;
csa_component24_out |= ((csa_component24_fa12_or0 >> 0) & 0x01ull) << 38;
csa_component24_out |= ((csa_component24_fa13_or0 >> 0) & 0x01ull) << 39;
csa_component24_out |= ((csa_component24_fa14_or0 >> 0) & 0x01ull) << 40;
csa_component24_out |= ((csa_component24_fa15_or0 >> 0) & 0x01ull) << 41;
csa_component24_out |= ((csa_component24_fa16_or0 >> 0) & 0x01ull) << 42;
csa_component24_out |= ((csa_component24_fa17_or0 >> 0) & 0x01ull) << 43;
csa_component24_out |= ((csa_component24_fa18_or0 >> 0) & 0x01ull) << 44;
csa_component24_out |= ((csa_component24_fa19_or0 >> 0) & 0x01ull) << 45;
csa_component24_out |= ((csa_component24_fa20_or0 >> 0) & 0x01ull) << 46;
csa_component24_out |= ((csa_component24_fa21_or0 >> 0) & 0x01ull) << 47;
csa_component24_out |= ((csa_component24_fa22_or0 >> 0) & 0x01ull) << 48;
csa_component24_out |= ((csa_component24_fa23_or0 >> 0) & 0x01ull) << 49;
return csa_component24_out;
}
uint64_t u_cska24(uint64_t a, uint64_t b){
uint64_t u_cska24_out = 0;
uint8_t u_cska24_xor0 = 0;
uint8_t u_cska24_ha0_xor0 = 0;
uint8_t u_cska24_ha0_and0 = 0;
uint8_t u_cska24_xor1 = 0;
uint8_t u_cska24_fa0_xor1 = 0;
uint8_t u_cska24_fa0_or0 = 0;
uint8_t u_cska24_xor2 = 0;
uint8_t u_cska24_fa1_xor1 = 0;
uint8_t u_cska24_fa1_or0 = 0;
uint8_t u_cska24_xor3 = 0;
uint8_t u_cska24_fa2_xor1 = 0;
uint8_t u_cska24_fa2_or0 = 0;
uint8_t u_cska24_and_propagate00 = 0;
uint8_t u_cska24_and_propagate01 = 0;
uint8_t u_cska24_and_propagate02 = 0;
uint8_t u_cska24_mux2to10_and1 = 0;
uint8_t u_cska24_xor4 = 0;
uint8_t u_cska24_fa3_xor1 = 0;
uint8_t u_cska24_fa3_or0 = 0;
uint8_t u_cska24_xor5 = 0;
uint8_t u_cska24_fa4_xor1 = 0;
uint8_t u_cska24_fa4_or0 = 0;
uint8_t u_cska24_xor6 = 0;
uint8_t u_cska24_fa5_xor1 = 0;
uint8_t u_cska24_fa5_or0 = 0;
uint8_t u_cska24_xor7 = 0;
uint8_t u_cska24_fa6_xor1 = 0;
uint8_t u_cska24_fa6_or0 = 0;
uint8_t u_cska24_and_propagate13 = 0;
uint8_t u_cska24_and_propagate14 = 0;
uint8_t u_cska24_and_propagate15 = 0;
uint8_t u_cska24_mux2to11_xor0 = 0;
uint8_t u_cska24_xor8 = 0;
uint8_t u_cska24_fa7_xor1 = 0;
uint8_t u_cska24_fa7_or0 = 0;
uint8_t u_cska24_xor9 = 0;
uint8_t u_cska24_fa8_xor1 = 0;
uint8_t u_cska24_fa8_or0 = 0;
uint8_t u_cska24_xor10 = 0;
uint8_t u_cska24_fa9_xor1 = 0;
uint8_t u_cska24_fa9_or0 = 0;
uint8_t u_cska24_xor11 = 0;
uint8_t u_cska24_fa10_xor1 = 0;
uint8_t u_cska24_fa10_or0 = 0;
uint8_t u_cska24_and_propagate26 = 0;
uint8_t u_cska24_and_propagate27 = 0;
uint8_t u_cska24_and_propagate28 = 0;
uint8_t u_cska24_mux2to12_xor0 = 0;
uint8_t u_cska24_xor12 = 0;
uint8_t u_cska24_fa11_xor1 = 0;
uint8_t u_cska24_fa11_or0 = 0;
uint8_t u_cska24_xor13 = 0;
uint8_t u_cska24_fa12_xor1 = 0;
uint8_t u_cska24_fa12_or0 = 0;
uint8_t u_cska24_xor14 = 0;
uint8_t u_cska24_fa13_xor1 = 0;
uint8_t u_cska24_fa13_or0 = 0;
uint8_t u_cska24_xor15 = 0;
uint8_t u_cska24_fa14_xor1 = 0;
uint8_t u_cska24_fa14_or0 = 0;
uint8_t u_cska24_and_propagate39 = 0;
uint8_t u_cska24_and_propagate310 = 0;
uint8_t u_cska24_and_propagate311 = 0;
uint8_t u_cska24_mux2to13_xor0 = 0;
uint8_t u_cska24_xor16 = 0;
uint8_t u_cska24_fa15_xor1 = 0;
uint8_t u_cska24_fa15_or0 = 0;
uint8_t u_cska24_xor17 = 0;
uint8_t u_cska24_fa16_xor1 = 0;
uint8_t u_cska24_fa16_or0 = 0;
uint8_t u_cska24_xor18 = 0;
uint8_t u_cska24_fa17_xor1 = 0;
uint8_t u_cska24_fa17_or0 = 0;
uint8_t u_cska24_xor19 = 0;
uint8_t u_cska24_fa18_xor1 = 0;
uint8_t u_cska24_fa18_or0 = 0;
uint8_t u_cska24_and_propagate412 = 0;
uint8_t u_cska24_and_propagate413 = 0;
uint8_t u_cska24_and_propagate414 = 0;
uint8_t u_cska24_mux2to14_xor0 = 0;
uint8_t u_cska24_xor20 = 0;
uint8_t u_cska24_fa19_xor1 = 0;
uint8_t u_cska24_fa19_or0 = 0;
uint8_t u_cska24_xor21 = 0;
uint8_t u_cska24_fa20_xor1 = 0;
uint8_t u_cska24_fa20_or0 = 0;
uint8_t u_cska24_xor22 = 0;
uint8_t u_cska24_fa21_xor1 = 0;
uint8_t u_cska24_fa21_or0 = 0;
uint8_t u_cska24_xor23 = 0;
uint8_t u_cska24_fa22_xor1 = 0;
uint8_t u_cska24_fa22_or0 = 0;
uint8_t u_cska24_and_propagate515 = 0;
uint8_t u_cska24_and_propagate516 = 0;
uint8_t u_cska24_and_propagate517 = 0;
uint8_t u_cska24_mux2to15_xor0 = 0;
u_cska24_xor0 = xor_gate(((a >> 0) & 0x01), ((b >> 0) & 0x01));
u_cska24_ha0_xor0 = (ha(((a >> 0) & 0x01), ((b >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_ha0_and0 = (ha(((a >> 0) & 0x01), ((b >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor1 = xor_gate(((a >> 1) & 0x01), ((b >> 1) & 0x01));
u_cska24_fa0_xor1 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((u_cska24_ha0_and0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa0_or0 = (fa(((a >> 1) & 0x01), ((b >> 1) & 0x01), ((u_cska24_ha0_and0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor2 = xor_gate(((a >> 2) & 0x01), ((b >> 2) & 0x01));
u_cska24_fa1_xor1 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((u_cska24_fa0_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa1_or0 = (fa(((a >> 2) & 0x01), ((b >> 2) & 0x01), ((u_cska24_fa0_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor3 = xor_gate(((a >> 3) & 0x01), ((b >> 3) & 0x01));
u_cska24_fa2_xor1 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((u_cska24_fa1_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa2_or0 = (fa(((a >> 3) & 0x01), ((b >> 3) & 0x01), ((u_cska24_fa1_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_and_propagate00 = and_gate(((u_cska24_xor0 >> 0) & 0x01), ((u_cska24_xor2 >> 0) & 0x01));
u_cska24_and_propagate01 = and_gate(((u_cska24_xor1 >> 0) & 0x01), ((u_cska24_xor3 >> 0) & 0x01));
u_cska24_and_propagate02 = and_gate(((u_cska24_and_propagate00 >> 0) & 0x01), ((u_cska24_and_propagate01 >> 0) & 0x01));
u_cska24_mux2to10_and1 = (mux2to1(((u_cska24_fa2_or0 >> 0) & 0x01), (0x00), ((u_cska24_and_propagate02 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_xor4 = xor_gate(((a >> 4) & 0x01), ((b >> 4) & 0x01));
u_cska24_fa3_xor1 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((u_cska24_mux2to10_and1 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa3_or0 = (fa(((a >> 4) & 0x01), ((b >> 4) & 0x01), ((u_cska24_mux2to10_and1 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor5 = xor_gate(((a >> 5) & 0x01), ((b >> 5) & 0x01));
u_cska24_fa4_xor1 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((u_cska24_fa3_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa4_or0 = (fa(((a >> 5) & 0x01), ((b >> 5) & 0x01), ((u_cska24_fa3_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor6 = xor_gate(((a >> 6) & 0x01), ((b >> 6) & 0x01));
u_cska24_fa5_xor1 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((u_cska24_fa4_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa5_or0 = (fa(((a >> 6) & 0x01), ((b >> 6) & 0x01), ((u_cska24_fa4_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor7 = xor_gate(((a >> 7) & 0x01), ((b >> 7) & 0x01));
u_cska24_fa6_xor1 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((u_cska24_fa5_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa6_or0 = (fa(((a >> 7) & 0x01), ((b >> 7) & 0x01), ((u_cska24_fa5_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_and_propagate13 = and_gate(((u_cska24_xor4 >> 0) & 0x01), ((u_cska24_xor6 >> 0) & 0x01));
u_cska24_and_propagate14 = and_gate(((u_cska24_xor5 >> 0) & 0x01), ((u_cska24_xor7 >> 0) & 0x01));
u_cska24_and_propagate15 = and_gate(((u_cska24_and_propagate13 >> 0) & 0x01), ((u_cska24_and_propagate14 >> 0) & 0x01));
u_cska24_mux2to11_xor0 = (mux2to1(((u_cska24_fa6_or0 >> 0) & 0x01), ((u_cska24_mux2to10_and1 >> 0) & 0x01), ((u_cska24_and_propagate15 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_xor8 = xor_gate(((a >> 8) & 0x01), ((b >> 8) & 0x01));
u_cska24_fa7_xor1 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((u_cska24_mux2to11_xor0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa7_or0 = (fa(((a >> 8) & 0x01), ((b >> 8) & 0x01), ((u_cska24_mux2to11_xor0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor9 = xor_gate(((a >> 9) & 0x01), ((b >> 9) & 0x01));
u_cska24_fa8_xor1 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((u_cska24_fa7_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa8_or0 = (fa(((a >> 9) & 0x01), ((b >> 9) & 0x01), ((u_cska24_fa7_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor10 = xor_gate(((a >> 10) & 0x01), ((b >> 10) & 0x01));
u_cska24_fa9_xor1 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((u_cska24_fa8_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa9_or0 = (fa(((a >> 10) & 0x01), ((b >> 10) & 0x01), ((u_cska24_fa8_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor11 = xor_gate(((a >> 11) & 0x01), ((b >> 11) & 0x01));
u_cska24_fa10_xor1 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((u_cska24_fa9_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa10_or0 = (fa(((a >> 11) & 0x01), ((b >> 11) & 0x01), ((u_cska24_fa9_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_and_propagate26 = and_gate(((u_cska24_xor8 >> 0) & 0x01), ((u_cska24_xor10 >> 0) & 0x01));
u_cska24_and_propagate27 = and_gate(((u_cska24_xor9 >> 0) & 0x01), ((u_cska24_xor11 >> 0) & 0x01));
u_cska24_and_propagate28 = and_gate(((u_cska24_and_propagate26 >> 0) & 0x01), ((u_cska24_and_propagate27 >> 0) & 0x01));
u_cska24_mux2to12_xor0 = (mux2to1(((u_cska24_fa10_or0 >> 0) & 0x01), ((u_cska24_mux2to11_xor0 >> 0) & 0x01), ((u_cska24_and_propagate28 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_xor12 = xor_gate(((a >> 12) & 0x01), ((b >> 12) & 0x01));
u_cska24_fa11_xor1 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((u_cska24_mux2to12_xor0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa11_or0 = (fa(((a >> 12) & 0x01), ((b >> 12) & 0x01), ((u_cska24_mux2to12_xor0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor13 = xor_gate(((a >> 13) & 0x01), ((b >> 13) & 0x01));
u_cska24_fa12_xor1 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((u_cska24_fa11_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa12_or0 = (fa(((a >> 13) & 0x01), ((b >> 13) & 0x01), ((u_cska24_fa11_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor14 = xor_gate(((a >> 14) & 0x01), ((b >> 14) & 0x01));
u_cska24_fa13_xor1 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((u_cska24_fa12_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa13_or0 = (fa(((a >> 14) & 0x01), ((b >> 14) & 0x01), ((u_cska24_fa12_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor15 = xor_gate(((a >> 15) & 0x01), ((b >> 15) & 0x01));
u_cska24_fa14_xor1 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((u_cska24_fa13_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa14_or0 = (fa(((a >> 15) & 0x01), ((b >> 15) & 0x01), ((u_cska24_fa13_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_and_propagate39 = and_gate(((u_cska24_xor12 >> 0) & 0x01), ((u_cska24_xor14 >> 0) & 0x01));
u_cska24_and_propagate310 = and_gate(((u_cska24_xor13 >> 0) & 0x01), ((u_cska24_xor15 >> 0) & 0x01));
u_cska24_and_propagate311 = and_gate(((u_cska24_and_propagate39 >> 0) & 0x01), ((u_cska24_and_propagate310 >> 0) & 0x01));
u_cska24_mux2to13_xor0 = (mux2to1(((u_cska24_fa14_or0 >> 0) & 0x01), ((u_cska24_mux2to12_xor0 >> 0) & 0x01), ((u_cska24_and_propagate311 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_xor16 = xor_gate(((a >> 16) & 0x01), ((b >> 16) & 0x01));
u_cska24_fa15_xor1 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((u_cska24_mux2to13_xor0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa15_or0 = (fa(((a >> 16) & 0x01), ((b >> 16) & 0x01), ((u_cska24_mux2to13_xor0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor17 = xor_gate(((a >> 17) & 0x01), ((b >> 17) & 0x01));
u_cska24_fa16_xor1 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((u_cska24_fa15_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa16_or0 = (fa(((a >> 17) & 0x01), ((b >> 17) & 0x01), ((u_cska24_fa15_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor18 = xor_gate(((a >> 18) & 0x01), ((b >> 18) & 0x01));
u_cska24_fa17_xor1 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((u_cska24_fa16_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa17_or0 = (fa(((a >> 18) & 0x01), ((b >> 18) & 0x01), ((u_cska24_fa16_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor19 = xor_gate(((a >> 19) & 0x01), ((b >> 19) & 0x01));
u_cska24_fa18_xor1 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((u_cska24_fa17_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa18_or0 = (fa(((a >> 19) & 0x01), ((b >> 19) & 0x01), ((u_cska24_fa17_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_and_propagate412 = and_gate(((u_cska24_xor16 >> 0) & 0x01), ((u_cska24_xor18 >> 0) & 0x01));
u_cska24_and_propagate413 = and_gate(((u_cska24_xor17 >> 0) & 0x01), ((u_cska24_xor19 >> 0) & 0x01));
u_cska24_and_propagate414 = and_gate(((u_cska24_and_propagate412 >> 0) & 0x01), ((u_cska24_and_propagate413 >> 0) & 0x01));
u_cska24_mux2to14_xor0 = (mux2to1(((u_cska24_fa18_or0 >> 0) & 0x01), ((u_cska24_mux2to13_xor0 >> 0) & 0x01), ((u_cska24_and_propagate414 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_xor20 = xor_gate(((a >> 20) & 0x01), ((b >> 20) & 0x01));
u_cska24_fa19_xor1 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((u_cska24_mux2to14_xor0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa19_or0 = (fa(((a >> 20) & 0x01), ((b >> 20) & 0x01), ((u_cska24_mux2to14_xor0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor21 = xor_gate(((a >> 21) & 0x01), ((b >> 21) & 0x01));
u_cska24_fa20_xor1 = (fa(((a >> 21) & 0x01), ((b >> 21) & 0x01), ((u_cska24_fa19_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa20_or0 = (fa(((a >> 21) & 0x01), ((b >> 21) & 0x01), ((u_cska24_fa19_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor22 = xor_gate(((a >> 22) & 0x01), ((b >> 22) & 0x01));
u_cska24_fa21_xor1 = (fa(((a >> 22) & 0x01), ((b >> 22) & 0x01), ((u_cska24_fa20_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa21_or0 = (fa(((a >> 22) & 0x01), ((b >> 22) & 0x01), ((u_cska24_fa20_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_xor23 = xor_gate(((a >> 23) & 0x01), ((b >> 23) & 0x01));
u_cska24_fa22_xor1 = (fa(((a >> 23) & 0x01), ((b >> 23) & 0x01), ((u_cska24_fa21_or0 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_fa22_or0 = (fa(((a >> 23) & 0x01), ((b >> 23) & 0x01), ((u_cska24_fa21_or0 >> 0) & 0x01)) >> 1) & 0x01;
u_cska24_and_propagate515 = and_gate(((u_cska24_xor20 >> 0) & 0x01), ((u_cska24_xor22 >> 0) & 0x01));
u_cska24_and_propagate516 = and_gate(((u_cska24_xor21 >> 0) & 0x01), ((u_cska24_xor23 >> 0) & 0x01));
u_cska24_and_propagate517 = and_gate(((u_cska24_and_propagate515 >> 0) & 0x01), ((u_cska24_and_propagate516 >> 0) & 0x01));
u_cska24_mux2to15_xor0 = (mux2to1(((u_cska24_fa22_or0 >> 0) & 0x01), ((u_cska24_mux2to14_xor0 >> 0) & 0x01), ((u_cska24_and_propagate517 >> 0) & 0x01)) >> 0) & 0x01;
u_cska24_out |= ((u_cska24_ha0_xor0 >> 0) & 0x01ull) << 0;
u_cska24_out |= ((u_cska24_fa0_xor1 >> 0) & 0x01ull) << 1;
u_cska24_out |= ((u_cska24_fa1_xor1 >> 0) & 0x01ull) << 2;
u_cska24_out |= ((u_cska24_fa2_xor1 >> 0) & 0x01ull) << 3;
u_cska24_out |= ((u_cska24_fa3_xor1 >> 0) & 0x01ull) << 4;
u_cska24_out |= ((u_cska24_fa4_xor1 >> 0) & 0x01ull) << 5;
u_cska24_out |= ((u_cska24_fa5_xor1 >> 0) & 0x01ull) << 6;
u_cska24_out |= ((u_cska24_fa6_xor1 >> 0) & 0x01ull) << 7;
u_cska24_out |= ((u_cska24_fa7_xor1 >> 0) & 0x01ull) << 8;
u_cska24_out |= ((u_cska24_fa8_xor1 >> 0) & 0x01ull) << 9;
u_cska24_out |= ((u_cska24_fa9_xor1 >> 0) & 0x01ull) << 10;
u_cska24_out |= ((u_cska24_fa10_xor1 >> 0) & 0x01ull) << 11;
u_cska24_out |= ((u_cska24_fa11_xor1 >> 0) & 0x01ull) << 12;
u_cska24_out |= ((u_cska24_fa12_xor1 >> 0) & 0x01ull) << 13;
u_cska24_out |= ((u_cska24_fa13_xor1 >> 0) & 0x01ull) << 14;
u_cska24_out |= ((u_cska24_fa14_xor1 >> 0) & 0x01ull) << 15;
u_cska24_out |= ((u_cska24_fa15_xor1 >> 0) & 0x01ull) << 16;
u_cska24_out |= ((u_cska24_fa16_xor1 >> 0) & 0x01ull) << 17;
u_cska24_out |= ((u_cska24_fa17_xor1 >> 0) & 0x01ull) << 18;
u_cska24_out |= ((u_cska24_fa18_xor1 >> 0) & 0x01ull) << 19;
u_cska24_out |= ((u_cska24_fa19_xor1 >> 0) & 0x01ull) << 20;
u_cska24_out |= ((u_cska24_fa20_xor1 >> 0) & 0x01ull) << 21;
u_cska24_out |= ((u_cska24_fa21_xor1 >> 0) & 0x01ull) << 22;
u_cska24_out |= ((u_cska24_fa22_xor1 >> 0) & 0x01ull) << 23;
u_cska24_out |= ((u_cska24_mux2to15_xor0 >> 0) & 0x01ull) << 24;
return u_cska24_out;
}
uint64_t u_CSAwallace_cska12(uint64_t a, uint64_t b){
uint64_t u_CSAwallace_cska12_out = 0;
uint8_t u_CSAwallace_cska12_and_0_0 = 0;
uint8_t u_CSAwallace_cska12_and_1_0 = 0;
uint8_t u_CSAwallace_cska12_and_2_0 = 0;
uint8_t u_CSAwallace_cska12_and_3_0 = 0;
uint8_t u_CSAwallace_cska12_and_4_0 = 0;
uint8_t u_CSAwallace_cska12_and_5_0 = 0;
uint8_t u_CSAwallace_cska12_and_6_0 = 0;
uint8_t u_CSAwallace_cska12_and_7_0 = 0;
uint8_t u_CSAwallace_cska12_and_8_0 = 0;
uint8_t u_CSAwallace_cska12_and_9_0 = 0;
uint8_t u_CSAwallace_cska12_and_10_0 = 0;
uint8_t u_CSAwallace_cska12_and_11_0 = 0;
uint8_t u_CSAwallace_cska12_and_0_1 = 0;
uint8_t u_CSAwallace_cska12_and_1_1 = 0;
uint8_t u_CSAwallace_cska12_and_2_1 = 0;
uint8_t u_CSAwallace_cska12_and_3_1 = 0;
uint8_t u_CSAwallace_cska12_and_4_1 = 0;
uint8_t u_CSAwallace_cska12_and_5_1 = 0;
uint8_t u_CSAwallace_cska12_and_6_1 = 0;
uint8_t u_CSAwallace_cska12_and_7_1 = 0;
uint8_t u_CSAwallace_cska12_and_8_1 = 0;
uint8_t u_CSAwallace_cska12_and_9_1 = 0;
uint8_t u_CSAwallace_cska12_and_10_1 = 0;
uint8_t u_CSAwallace_cska12_and_11_1 = 0;
uint8_t u_CSAwallace_cska12_and_0_2 = 0;
uint8_t u_CSAwallace_cska12_and_1_2 = 0;
uint8_t u_CSAwallace_cska12_and_2_2 = 0;
uint8_t u_CSAwallace_cska12_and_3_2 = 0;
uint8_t u_CSAwallace_cska12_and_4_2 = 0;
uint8_t u_CSAwallace_cska12_and_5_2 = 0;
uint8_t u_CSAwallace_cska12_and_6_2 = 0;
uint8_t u_CSAwallace_cska12_and_7_2 = 0;
uint8_t u_CSAwallace_cska12_and_8_2 = 0;
uint8_t u_CSAwallace_cska12_and_9_2 = 0;
uint8_t u_CSAwallace_cska12_and_10_2 = 0;
uint8_t u_CSAwallace_cska12_and_11_2 = 0;
uint8_t u_CSAwallace_cska12_and_0_3 = 0;
uint8_t u_CSAwallace_cska12_and_1_3 = 0;
uint8_t u_CSAwallace_cska12_and_2_3 = 0;
uint8_t u_CSAwallace_cska12_and_3_3 = 0;
uint8_t u_CSAwallace_cska12_and_4_3 = 0;
uint8_t u_CSAwallace_cska12_and_5_3 = 0;
uint8_t u_CSAwallace_cska12_and_6_3 = 0;
uint8_t u_CSAwallace_cska12_and_7_3 = 0;
uint8_t u_CSAwallace_cska12_and_8_3 = 0;
uint8_t u_CSAwallace_cska12_and_9_3 = 0;
uint8_t u_CSAwallace_cska12_and_10_3 = 0;
uint8_t u_CSAwallace_cska12_and_11_3 = 0;
uint8_t u_CSAwallace_cska12_and_0_4 = 0;
uint8_t u_CSAwallace_cska12_and_1_4 = 0;
uint8_t u_CSAwallace_cska12_and_2_4 = 0;
uint8_t u_CSAwallace_cska12_and_3_4 = 0;
uint8_t u_CSAwallace_cska12_and_4_4 = 0;
uint8_t u_CSAwallace_cska12_and_5_4 = 0;
uint8_t u_CSAwallace_cska12_and_6_4 = 0;
uint8_t u_CSAwallace_cska12_and_7_4 = 0;
uint8_t u_CSAwallace_cska12_and_8_4 = 0;
uint8_t u_CSAwallace_cska12_and_9_4 = 0;
uint8_t u_CSAwallace_cska12_and_10_4 = 0;
uint8_t u_CSAwallace_cska12_and_11_4 = 0;
uint8_t u_CSAwallace_cska12_and_0_5 = 0;
uint8_t u_CSAwallace_cska12_and_1_5 = 0;
uint8_t u_CSAwallace_cska12_and_2_5 = 0;
uint8_t u_CSAwallace_cska12_and_3_5 = 0;
uint8_t u_CSAwallace_cska12_and_4_5 = 0;
uint8_t u_CSAwallace_cska12_and_5_5 = 0;
uint8_t u_CSAwallace_cska12_and_6_5 = 0;
uint8_t u_CSAwallace_cska12_and_7_5 = 0;
uint8_t u_CSAwallace_cska12_and_8_5 = 0;
uint8_t u_CSAwallace_cska12_and_9_5 = 0;
uint8_t u_CSAwallace_cska12_and_10_5 = 0;
uint8_t u_CSAwallace_cska12_and_11_5 = 0;
uint8_t u_CSAwallace_cska12_and_0_6 = 0;
uint8_t u_CSAwallace_cska12_and_1_6 = 0;
uint8_t u_CSAwallace_cska12_and_2_6 = 0;
uint8_t u_CSAwallace_cska12_and_3_6 = 0;
uint8_t u_CSAwallace_cska12_and_4_6 = 0;
uint8_t u_CSAwallace_cska12_and_5_6 = 0;
uint8_t u_CSAwallace_cska12_and_6_6 = 0;
uint8_t u_CSAwallace_cska12_and_7_6 = 0;
uint8_t u_CSAwallace_cska12_and_8_6 = 0;
uint8_t u_CSAwallace_cska12_and_9_6 = 0;
uint8_t u_CSAwallace_cska12_and_10_6 = 0;
uint8_t u_CSAwallace_cska12_and_11_6 = 0;
uint8_t u_CSAwallace_cska12_and_0_7 = 0;
uint8_t u_CSAwallace_cska12_and_1_7 = 0;
uint8_t u_CSAwallace_cska12_and_2_7 = 0;
uint8_t u_CSAwallace_cska12_and_3_7 = 0;
uint8_t u_CSAwallace_cska12_and_4_7 = 0;
uint8_t u_CSAwallace_cska12_and_5_7 = 0;
uint8_t u_CSAwallace_cska12_and_6_7 = 0;
uint8_t u_CSAwallace_cska12_and_7_7 = 0;
uint8_t u_CSAwallace_cska12_and_8_7 = 0;
uint8_t u_CSAwallace_cska12_and_9_7 = 0;
uint8_t u_CSAwallace_cska12_and_10_7 = 0;
uint8_t u_CSAwallace_cska12_and_11_7 = 0;
uint8_t u_CSAwallace_cska12_and_0_8 = 0;
uint8_t u_CSAwallace_cska12_and_1_8 = 0;
uint8_t u_CSAwallace_cska12_and_2_8 = 0;
uint8_t u_CSAwallace_cska12_and_3_8 = 0;
uint8_t u_CSAwallace_cska12_and_4_8 = 0;
uint8_t u_CSAwallace_cska12_and_5_8 = 0;
uint8_t u_CSAwallace_cska12_and_6_8 = 0;
uint8_t u_CSAwallace_cska12_and_7_8 = 0;
uint8_t u_CSAwallace_cska12_and_8_8 = 0;
uint8_t u_CSAwallace_cska12_and_9_8 = 0;
uint8_t u_CSAwallace_cska12_and_10_8 = 0;
uint8_t u_CSAwallace_cska12_and_11_8 = 0;
uint8_t u_CSAwallace_cska12_and_0_9 = 0;
uint8_t u_CSAwallace_cska12_and_1_9 = 0;
uint8_t u_CSAwallace_cska12_and_2_9 = 0;
uint8_t u_CSAwallace_cska12_and_3_9 = 0;
uint8_t u_CSAwallace_cska12_and_4_9 = 0;
uint8_t u_CSAwallace_cska12_and_5_9 = 0;
uint8_t u_CSAwallace_cska12_and_6_9 = 0;
uint8_t u_CSAwallace_cska12_and_7_9 = 0;
uint8_t u_CSAwallace_cska12_and_8_9 = 0;
uint8_t u_CSAwallace_cska12_and_9_9 = 0;
uint8_t u_CSAwallace_cska12_and_10_9 = 0;
uint8_t u_CSAwallace_cska12_and_11_9 = 0;
uint8_t u_CSAwallace_cska12_and_0_10 = 0;
uint8_t u_CSAwallace_cska12_and_1_10 = 0;
uint8_t u_CSAwallace_cska12_and_2_10 = 0;
uint8_t u_CSAwallace_cska12_and_3_10 = 0;
uint8_t u_CSAwallace_cska12_and_4_10 = 0;
uint8_t u_CSAwallace_cska12_and_5_10 = 0;
uint8_t u_CSAwallace_cska12_and_6_10 = 0;
uint8_t u_CSAwallace_cska12_and_7_10 = 0;
uint8_t u_CSAwallace_cska12_and_8_10 = 0;
uint8_t u_CSAwallace_cska12_and_9_10 = 0;
uint8_t u_CSAwallace_cska12_and_10_10 = 0;
uint8_t u_CSAwallace_cska12_and_11_10 = 0;
uint8_t u_CSAwallace_cska12_and_0_11 = 0;
uint8_t u_CSAwallace_cska12_and_1_11 = 0;
uint8_t u_CSAwallace_cska12_and_2_11 = 0;
uint8_t u_CSAwallace_cska12_and_3_11 = 0;
uint8_t u_CSAwallace_cska12_and_4_11 = 0;
uint8_t u_CSAwallace_cska12_and_5_11 = 0;
uint8_t u_CSAwallace_cska12_and_6_11 = 0;
uint8_t u_CSAwallace_cska12_and_7_11 = 0;
uint8_t u_CSAwallace_cska12_and_8_11 = 0;
uint8_t u_CSAwallace_cska12_and_9_11 = 0;
uint8_t u_CSAwallace_cska12_and_10_11 = 0;
uint8_t u_CSAwallace_cska12_and_11_11 = 0;
uint64_t u_CSAwallace_cska12_csa0_csa_component_pp_row0 = 0;
uint64_t u_CSAwallace_cska12_csa0_csa_component_pp_row1 = 0;
uint64_t u_CSAwallace_cska12_csa0_csa_component_pp_row2 = 0;
uint64_t u_CSAwallace_cska12_csa0_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa1_csa_component_pp_row3 = 0;
uint64_t u_CSAwallace_cska12_csa1_csa_component_pp_row4 = 0;
uint64_t u_CSAwallace_cska12_csa1_csa_component_pp_row5 = 0;
uint64_t u_CSAwallace_cska12_csa1_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa2_csa_component_pp_row6 = 0;
uint64_t u_CSAwallace_cska12_csa2_csa_component_pp_row7 = 0;
uint64_t u_CSAwallace_cska12_csa2_csa_component_pp_row8 = 0;
uint64_t u_CSAwallace_cska12_csa2_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa3_csa_component_pp_row9 = 0;
uint64_t u_CSAwallace_cska12_csa3_csa_component_pp_row10 = 0;
uint64_t u_CSAwallace_cska12_csa3_csa_component_pp_row11 = 0;
uint64_t u_CSAwallace_cska12_csa3_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 = 0;
uint64_t u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 = 0;
uint64_t u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 = 0;
uint64_t u_CSAwallace_cska12_csa4_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 = 0;
uint64_t u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 = 0;
uint64_t u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 = 0;
uint64_t u_CSAwallace_cska12_csa5_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 = 0;
uint64_t u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 = 0;
uint64_t u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 = 0;
uint64_t u_CSAwallace_cska12_csa6_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 = 0;
uint64_t u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 = 0;
uint64_t u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 = 0;
uint64_t u_CSAwallace_cska12_csa7_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 = 0;
uint64_t u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 = 0;
uint64_t u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 = 0;
uint64_t u_CSAwallace_cska12_csa8_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 = 0;
uint64_t u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 = 0;
uint64_t u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 = 0;
uint64_t u_CSAwallace_cska12_csa9_csa_component_out = 0;
uint64_t u_CSAwallace_cska12_u_cska24_a = 0;
uint64_t u_CSAwallace_cska12_u_cska24_b = 0;
uint64_t u_CSAwallace_cska12_u_cska24_out = 0;
u_CSAwallace_cska12_and_0_0 = and_gate(((a >> 0) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_1_0 = and_gate(((a >> 1) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_2_0 = and_gate(((a >> 2) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_3_0 = and_gate(((a >> 3) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_4_0 = and_gate(((a >> 4) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_5_0 = and_gate(((a >> 5) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_6_0 = and_gate(((a >> 6) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_7_0 = and_gate(((a >> 7) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_8_0 = and_gate(((a >> 8) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_9_0 = and_gate(((a >> 9) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_10_0 = and_gate(((a >> 10) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_11_0 = and_gate(((a >> 11) & 0x01), ((b >> 0) & 0x01));
u_CSAwallace_cska12_and_0_1 = and_gate(((a >> 0) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_1_1 = and_gate(((a >> 1) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_2_1 = and_gate(((a >> 2) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_3_1 = and_gate(((a >> 3) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_4_1 = and_gate(((a >> 4) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_5_1 = and_gate(((a >> 5) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_6_1 = and_gate(((a >> 6) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_7_1 = and_gate(((a >> 7) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_8_1 = and_gate(((a >> 8) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_9_1 = and_gate(((a >> 9) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_10_1 = and_gate(((a >> 10) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_11_1 = and_gate(((a >> 11) & 0x01), ((b >> 1) & 0x01));
u_CSAwallace_cska12_and_0_2 = and_gate(((a >> 0) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_1_2 = and_gate(((a >> 1) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_2_2 = and_gate(((a >> 2) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_3_2 = and_gate(((a >> 3) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_4_2 = and_gate(((a >> 4) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_5_2 = and_gate(((a >> 5) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_6_2 = and_gate(((a >> 6) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_7_2 = and_gate(((a >> 7) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_8_2 = and_gate(((a >> 8) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_9_2 = and_gate(((a >> 9) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_10_2 = and_gate(((a >> 10) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_11_2 = and_gate(((a >> 11) & 0x01), ((b >> 2) & 0x01));
u_CSAwallace_cska12_and_0_3 = and_gate(((a >> 0) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_1_3 = and_gate(((a >> 1) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_2_3 = and_gate(((a >> 2) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_3_3 = and_gate(((a >> 3) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_4_3 = and_gate(((a >> 4) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_5_3 = and_gate(((a >> 5) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_6_3 = and_gate(((a >> 6) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_7_3 = and_gate(((a >> 7) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_8_3 = and_gate(((a >> 8) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_9_3 = and_gate(((a >> 9) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_10_3 = and_gate(((a >> 10) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_11_3 = and_gate(((a >> 11) & 0x01), ((b >> 3) & 0x01));
u_CSAwallace_cska12_and_0_4 = and_gate(((a >> 0) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_1_4 = and_gate(((a >> 1) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_2_4 = and_gate(((a >> 2) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_3_4 = and_gate(((a >> 3) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_4_4 = and_gate(((a >> 4) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_5_4 = and_gate(((a >> 5) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_6_4 = and_gate(((a >> 6) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_7_4 = and_gate(((a >> 7) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_8_4 = and_gate(((a >> 8) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_9_4 = and_gate(((a >> 9) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_10_4 = and_gate(((a >> 10) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_11_4 = and_gate(((a >> 11) & 0x01), ((b >> 4) & 0x01));
u_CSAwallace_cska12_and_0_5 = and_gate(((a >> 0) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_1_5 = and_gate(((a >> 1) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_2_5 = and_gate(((a >> 2) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_3_5 = and_gate(((a >> 3) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_4_5 = and_gate(((a >> 4) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_5_5 = and_gate(((a >> 5) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_6_5 = and_gate(((a >> 6) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_7_5 = and_gate(((a >> 7) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_8_5 = and_gate(((a >> 8) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_9_5 = and_gate(((a >> 9) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_10_5 = and_gate(((a >> 10) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_11_5 = and_gate(((a >> 11) & 0x01), ((b >> 5) & 0x01));
u_CSAwallace_cska12_and_0_6 = and_gate(((a >> 0) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_1_6 = and_gate(((a >> 1) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_2_6 = and_gate(((a >> 2) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_3_6 = and_gate(((a >> 3) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_4_6 = and_gate(((a >> 4) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_5_6 = and_gate(((a >> 5) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_6_6 = and_gate(((a >> 6) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_7_6 = and_gate(((a >> 7) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_8_6 = and_gate(((a >> 8) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_9_6 = and_gate(((a >> 9) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_10_6 = and_gate(((a >> 10) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_11_6 = and_gate(((a >> 11) & 0x01), ((b >> 6) & 0x01));
u_CSAwallace_cska12_and_0_7 = and_gate(((a >> 0) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_1_7 = and_gate(((a >> 1) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_2_7 = and_gate(((a >> 2) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_3_7 = and_gate(((a >> 3) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_4_7 = and_gate(((a >> 4) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_5_7 = and_gate(((a >> 5) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_6_7 = and_gate(((a >> 6) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_7_7 = and_gate(((a >> 7) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_8_7 = and_gate(((a >> 8) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_9_7 = and_gate(((a >> 9) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_10_7 = and_gate(((a >> 10) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_11_7 = and_gate(((a >> 11) & 0x01), ((b >> 7) & 0x01));
u_CSAwallace_cska12_and_0_8 = and_gate(((a >> 0) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_1_8 = and_gate(((a >> 1) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_2_8 = and_gate(((a >> 2) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_3_8 = and_gate(((a >> 3) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_4_8 = and_gate(((a >> 4) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_5_8 = and_gate(((a >> 5) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_6_8 = and_gate(((a >> 6) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_7_8 = and_gate(((a >> 7) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_8_8 = and_gate(((a >> 8) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_9_8 = and_gate(((a >> 9) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_10_8 = and_gate(((a >> 10) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_11_8 = and_gate(((a >> 11) & 0x01), ((b >> 8) & 0x01));
u_CSAwallace_cska12_and_0_9 = and_gate(((a >> 0) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_1_9 = and_gate(((a >> 1) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_2_9 = and_gate(((a >> 2) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_3_9 = and_gate(((a >> 3) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_4_9 = and_gate(((a >> 4) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_5_9 = and_gate(((a >> 5) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_6_9 = and_gate(((a >> 6) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_7_9 = and_gate(((a >> 7) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_8_9 = and_gate(((a >> 8) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_9_9 = and_gate(((a >> 9) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_10_9 = and_gate(((a >> 10) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_11_9 = and_gate(((a >> 11) & 0x01), ((b >> 9) & 0x01));
u_CSAwallace_cska12_and_0_10 = and_gate(((a >> 0) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_1_10 = and_gate(((a >> 1) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_2_10 = and_gate(((a >> 2) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_3_10 = and_gate(((a >> 3) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_4_10 = and_gate(((a >> 4) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_5_10 = and_gate(((a >> 5) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_6_10 = and_gate(((a >> 6) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_7_10 = and_gate(((a >> 7) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_8_10 = and_gate(((a >> 8) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_9_10 = and_gate(((a >> 9) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_10_10 = and_gate(((a >> 10) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_11_10 = and_gate(((a >> 11) & 0x01), ((b >> 10) & 0x01));
u_CSAwallace_cska12_and_0_11 = and_gate(((a >> 0) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_1_11 = and_gate(((a >> 1) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_2_11 = and_gate(((a >> 2) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_3_11 = and_gate(((a >> 3) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_4_11 = and_gate(((a >> 4) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_5_11 = and_gate(((a >> 5) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_6_11 = and_gate(((a >> 6) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_7_11 = and_gate(((a >> 7) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_8_11 = and_gate(((a >> 8) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_9_11 = and_gate(((a >> 9) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_10_11 = and_gate(((a >> 10) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_and_11_11 = and_gate(((a >> 11) & 0x01), ((b >> 11) & 0x01));
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_0_0 >> 0) & 0x01ull) << 0;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_1_0 >> 0) & 0x01ull) << 1;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_2_0 >> 0) & 0x01ull) << 2;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_3_0 >> 0) & 0x01ull) << 3;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_4_0 >> 0) & 0x01ull) << 4;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_5_0 >> 0) & 0x01ull) << 5;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_6_0 >> 0) & 0x01ull) << 6;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_7_0 >> 0) & 0x01ull) << 7;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_8_0 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_9_0 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_10_0 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= ((u_CSAwallace_cska12_and_11_0 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= (0x00) << 12;
u_CSAwallace_cska12_csa0_csa_component_pp_row0 |= (0x00) << 13;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= (0x00) << 0;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_0_1 >> 0) & 0x01ull) << 1;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_1_1 >> 0) & 0x01ull) << 2;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_2_1 >> 0) & 0x01ull) << 3;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_3_1 >> 0) & 0x01ull) << 4;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_4_1 >> 0) & 0x01ull) << 5;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_5_1 >> 0) & 0x01ull) << 6;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_6_1 >> 0) & 0x01ull) << 7;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_7_1 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_8_1 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_9_1 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_10_1 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= ((u_CSAwallace_cska12_and_11_1 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa0_csa_component_pp_row1 |= (0x00) << 13;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= (0x00) << 0;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= (0x00) << 1;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_0_2 >> 0) & 0x01ull) << 2;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_1_2 >> 0) & 0x01ull) << 3;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_2_2 >> 0) & 0x01ull) << 4;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_3_2 >> 0) & 0x01ull) << 5;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_4_2 >> 0) & 0x01ull) << 6;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_5_2 >> 0) & 0x01ull) << 7;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_6_2 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_7_2 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_8_2 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_9_2 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_10_2 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa0_csa_component_pp_row2 |= ((u_CSAwallace_cska12_and_11_2 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa0_csa_component_out = csa_component14(u_CSAwallace_cska12_csa0_csa_component_pp_row0, u_CSAwallace_cska12_csa0_csa_component_pp_row1, u_CSAwallace_cska12_csa0_csa_component_pp_row2);
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= (0x00) << 0;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= (0x00) << 1;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= (0x00) << 2;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_0_3 >> 0) & 0x01ull) << 3;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_1_3 >> 0) & 0x01ull) << 4;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_2_3 >> 0) & 0x01ull) << 5;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_3_3 >> 0) & 0x01ull) << 6;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_4_3 >> 0) & 0x01ull) << 7;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_5_3 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_6_3 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_7_3 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_8_3 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_9_3 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_10_3 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= ((u_CSAwallace_cska12_and_11_3 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= (0x00) << 15;
u_CSAwallace_cska12_csa1_csa_component_pp_row3 |= (0x00) << 16;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= (0x00) << 0;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= (0x00) << 1;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= (0x00) << 2;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= (0x00) << 3;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_0_4 >> 0) & 0x01ull) << 4;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_1_4 >> 0) & 0x01ull) << 5;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_2_4 >> 0) & 0x01ull) << 6;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_3_4 >> 0) & 0x01ull) << 7;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_4_4 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_5_4 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_6_4 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_7_4 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_8_4 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_9_4 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_10_4 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= ((u_CSAwallace_cska12_and_11_4 >> 0) & 0x01ull) << 15;
u_CSAwallace_cska12_csa1_csa_component_pp_row4 |= (0x00) << 16;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= (0x00) << 0;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= (0x00) << 1;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= (0x00) << 2;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= (0x00) << 3;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= (0x00) << 4;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_0_5 >> 0) & 0x01ull) << 5;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_1_5 >> 0) & 0x01ull) << 6;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_2_5 >> 0) & 0x01ull) << 7;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_3_5 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_4_5 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_5_5 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_6_5 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_7_5 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_8_5 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_9_5 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_10_5 >> 0) & 0x01ull) << 15;
u_CSAwallace_cska12_csa1_csa_component_pp_row5 |= ((u_CSAwallace_cska12_and_11_5 >> 0) & 0x01ull) << 16;
u_CSAwallace_cska12_csa1_csa_component_out = csa_component17(u_CSAwallace_cska12_csa1_csa_component_pp_row3, u_CSAwallace_cska12_csa1_csa_component_pp_row4, u_CSAwallace_cska12_csa1_csa_component_pp_row5);
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= (0x00) << 0;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= (0x00) << 1;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= (0x00) << 2;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= (0x00) << 3;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= (0x00) << 4;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= (0x00) << 5;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_0_6 >> 0) & 0x01ull) << 6;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_1_6 >> 0) & 0x01ull) << 7;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_2_6 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_3_6 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_4_6 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_5_6 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_6_6 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_7_6 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_8_6 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_9_6 >> 0) & 0x01ull) << 15;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_10_6 >> 0) & 0x01ull) << 16;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= ((u_CSAwallace_cska12_and_11_6 >> 0) & 0x01ull) << 17;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= (0x00) << 18;
u_CSAwallace_cska12_csa2_csa_component_pp_row6 |= (0x00) << 19;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= (0x00) << 0;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= (0x00) << 1;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= (0x00) << 2;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= (0x00) << 3;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= (0x00) << 4;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= (0x00) << 5;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= (0x00) << 6;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_0_7 >> 0) & 0x01ull) << 7;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_1_7 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_2_7 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_3_7 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_4_7 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_5_7 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_6_7 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_7_7 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_8_7 >> 0) & 0x01ull) << 15;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_9_7 >> 0) & 0x01ull) << 16;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_10_7 >> 0) & 0x01ull) << 17;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= ((u_CSAwallace_cska12_and_11_7 >> 0) & 0x01ull) << 18;
u_CSAwallace_cska12_csa2_csa_component_pp_row7 |= (0x00) << 19;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= (0x00) << 0;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= (0x00) << 1;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= (0x00) << 2;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= (0x00) << 3;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= (0x00) << 4;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= (0x00) << 5;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= (0x00) << 6;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= (0x00) << 7;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_0_8 >> 0) & 0x01ull) << 8;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_1_8 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_2_8 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_3_8 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_4_8 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_5_8 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_6_8 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_7_8 >> 0) & 0x01ull) << 15;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_8_8 >> 0) & 0x01ull) << 16;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_9_8 >> 0) & 0x01ull) << 17;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_10_8 >> 0) & 0x01ull) << 18;
u_CSAwallace_cska12_csa2_csa_component_pp_row8 |= ((u_CSAwallace_cska12_and_11_8 >> 0) & 0x01ull) << 19;
u_CSAwallace_cska12_csa2_csa_component_out = csa_component20(u_CSAwallace_cska12_csa2_csa_component_pp_row6, u_CSAwallace_cska12_csa2_csa_component_pp_row7, u_CSAwallace_cska12_csa2_csa_component_pp_row8);
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 0;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 1;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 2;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 3;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 4;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 5;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 6;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 7;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 8;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_0_9 >> 0) & 0x01ull) << 9;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_1_9 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_2_9 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_3_9 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_4_9 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_5_9 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_6_9 >> 0) & 0x01ull) << 15;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_7_9 >> 0) & 0x01ull) << 16;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_8_9 >> 0) & 0x01ull) << 17;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_9_9 >> 0) & 0x01ull) << 18;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_10_9 >> 0) & 0x01ull) << 19;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= ((u_CSAwallace_cska12_and_11_9 >> 0) & 0x01ull) << 20;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 21;
u_CSAwallace_cska12_csa3_csa_component_pp_row9 |= (0x00) << 22;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 0;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 1;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 2;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 3;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 4;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 5;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 6;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 7;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 8;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 9;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_0_10 >> 0) & 0x01ull) << 10;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_1_10 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_2_10 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_3_10 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_4_10 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_5_10 >> 0) & 0x01ull) << 15;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_6_10 >> 0) & 0x01ull) << 16;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_7_10 >> 0) & 0x01ull) << 17;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_8_10 >> 0) & 0x01ull) << 18;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_9_10 >> 0) & 0x01ull) << 19;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_10_10 >> 0) & 0x01ull) << 20;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= ((u_CSAwallace_cska12_and_11_10 >> 0) & 0x01ull) << 21;
u_CSAwallace_cska12_csa3_csa_component_pp_row10 |= (0x00) << 22;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 0;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 1;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 2;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 3;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 4;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 5;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 6;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 7;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 8;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 9;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= (0x00) << 10;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_0_11 >> 0) & 0x01ull) << 11;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_1_11 >> 0) & 0x01ull) << 12;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_2_11 >> 0) & 0x01ull) << 13;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_3_11 >> 0) & 0x01ull) << 14;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_4_11 >> 0) & 0x01ull) << 15;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_5_11 >> 0) & 0x01ull) << 16;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_6_11 >> 0) & 0x01ull) << 17;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_7_11 >> 0) & 0x01ull) << 18;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_8_11 >> 0) & 0x01ull) << 19;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_9_11 >> 0) & 0x01ull) << 20;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_10_11 >> 0) & 0x01ull) << 21;
u_CSAwallace_cska12_csa3_csa_component_pp_row11 |= ((u_CSAwallace_cska12_and_11_11 >> 0) & 0x01ull) << 22;
u_CSAwallace_cska12_csa3_csa_component_out = csa_component23(u_CSAwallace_cska12_csa3_csa_component_pp_row9, u_CSAwallace_cska12_csa3_csa_component_pp_row10, u_CSAwallace_cska12_csa3_csa_component_pp_row11);
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 0) & 0x01ull) << 0;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 1) & 0x01ull) << 1;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 2) & 0x01ull) << 2;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 3) & 0x01ull) << 3;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 4) & 0x01ull) << 4;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 5) & 0x01ull) << 5;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= (0x00) << 14;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= (0x00) << 15;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= (0x00) << 16;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1 |= (0x00) << 17;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= (0x00) << 0;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= (0x00) << 1;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 17) & 0x01ull) << 2;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 18) & 0x01ull) << 3;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 19) & 0x01ull) << 4;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 20) & 0x01ull) << 5;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 21) & 0x01ull) << 6;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 22) & 0x01ull) << 7;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 23) & 0x01ull) << 8;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 24) & 0x01ull) << 9;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 25) & 0x01ull) << 10;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 26) & 0x01ull) << 11;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 27) & 0x01ull) << 12;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= ((u_CSAwallace_cska12_csa0_csa_component_out >> 28) & 0x01ull) << 13;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= (0x00) << 14;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= (0x00) << 15;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= (0x00) << 16;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1 |= (0x00) << 17;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= (0x00) << 0;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= (0x00) << 1;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= (0x00) << 2;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 3) & 0x01ull) << 3;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 4) & 0x01ull) << 4;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 5) & 0x01ull) << 5;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2 |= (0x00) << 17;
u_CSAwallace_cska12_csa4_csa_component_out = csa_component18(u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s1, u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_c1, u_CSAwallace_cska12_csa4_csa_component_u_CSAwallace_cska12_csa_s2);
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 0;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 1;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 2;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 3;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 4;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 23) & 0x01ull) << 5;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 24) & 0x01ull) << 6;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 25) & 0x01ull) << 7;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 26) & 0x01ull) << 8;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 27) & 0x01ull) << 9;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 28) & 0x01ull) << 10;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 29) & 0x01ull) << 11;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 30) & 0x01ull) << 12;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 31) & 0x01ull) << 13;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 32) & 0x01ull) << 14;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 33) & 0x01ull) << 15;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= ((u_CSAwallace_cska12_csa1_csa_component_out >> 34) & 0x01ull) << 16;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 17;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 18;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 19;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2 |= (0x00) << 20;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= (0x00) << 0;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= (0x00) << 1;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= (0x00) << 2;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= (0x00) << 3;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= (0x00) << 4;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= (0x00) << 5;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 17) & 0x01ull) << 17;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 18) & 0x01ull) << 18;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 19) & 0x01ull) << 19;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3 |= (0x00) << 20;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 0;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 1;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 2;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 3;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 4;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 5;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 6;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 7;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 29) & 0x01ull) << 8;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 30) & 0x01ull) << 9;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 31) & 0x01ull) << 10;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 32) & 0x01ull) << 11;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 33) & 0x01ull) << 12;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 34) & 0x01ull) << 13;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 35) & 0x01ull) << 14;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 36) & 0x01ull) << 15;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 37) & 0x01ull) << 16;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 38) & 0x01ull) << 17;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 39) & 0x01ull) << 18;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= ((u_CSAwallace_cska12_csa2_csa_component_out >> 40) & 0x01ull) << 19;
u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3 |= (0x00) << 20;
u_CSAwallace_cska12_csa5_csa_component_out = csa_component21(u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c2, u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_s3, u_CSAwallace_cska12_csa5_csa_component_u_CSAwallace_cska12_csa_c3);
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 0) & 0x01ull) << 0;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 1) & 0x01ull) << 1;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 2) & 0x01ull) << 2;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 3) & 0x01ull) << 3;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 4) & 0x01ull) << 4;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 5) & 0x01ull) << 5;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= (0x00) << 17;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= (0x00) << 18;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= (0x00) << 19;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= (0x00) << 20;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5 |= (0x00) << 21;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 0;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 1;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 2;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 22) & 0x01ull) << 3;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 23) & 0x01ull) << 4;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 24) & 0x01ull) << 5;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 25) & 0x01ull) << 6;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 26) & 0x01ull) << 7;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 27) & 0x01ull) << 8;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 28) & 0x01ull) << 9;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 29) & 0x01ull) << 10;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 30) & 0x01ull) << 11;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 31) & 0x01ull) << 12;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 32) & 0x01ull) << 13;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= ((u_CSAwallace_cska12_csa4_csa_component_out >> 33) & 0x01ull) << 14;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 15;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 16;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 17;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 18;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 19;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 20;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5 |= (0x00) << 21;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= (0x00) << 0;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= (0x00) << 1;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= (0x00) << 2;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= (0x00) << 3;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= (0x00) << 4;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 5) & 0x01ull) << 5;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 17) & 0x01ull) << 17;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 18) & 0x01ull) << 18;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 19) & 0x01ull) << 19;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= (0x00) << 20;
u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6 |= (0x00) << 21;
u_CSAwallace_cska12_csa6_csa_component_out = csa_component22(u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s5, u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_c5, u_CSAwallace_cska12_csa6_csa_component_u_CSAwallace_cska12_csa_s6);
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 0;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 1;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 2;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 3;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 4;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 5;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 6;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 29) & 0x01ull) << 7;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 30) & 0x01ull) << 8;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 31) & 0x01ull) << 9;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 32) & 0x01ull) << 10;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 33) & 0x01ull) << 11;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 34) & 0x01ull) << 12;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 35) & 0x01ull) << 13;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 36) & 0x01ull) << 14;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 37) & 0x01ull) << 15;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 38) & 0x01ull) << 16;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 39) & 0x01ull) << 17;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 40) & 0x01ull) << 18;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 41) & 0x01ull) << 19;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= ((u_CSAwallace_cska12_csa5_csa_component_out >> 42) & 0x01ull) << 20;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 21;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 22;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6 |= (0x00) << 23;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 0;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 1;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 2;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 3;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 4;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 5;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 6;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 7;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 8;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 17) & 0x01ull) << 17;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 18) & 0x01ull) << 18;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 19) & 0x01ull) << 19;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 20) & 0x01ull) << 20;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 21) & 0x01ull) << 21;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 22) & 0x01ull) << 22;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4 |= (0x00) << 23;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 0;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 1;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 2;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 3;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 4;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 5;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 6;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 7;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 8;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 9;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 10;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 35) & 0x01ull) << 11;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 36) & 0x01ull) << 12;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 37) & 0x01ull) << 13;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 38) & 0x01ull) << 14;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 39) & 0x01ull) << 15;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 40) & 0x01ull) << 16;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 41) & 0x01ull) << 17;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 42) & 0x01ull) << 18;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 43) & 0x01ull) << 19;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 44) & 0x01ull) << 20;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 45) & 0x01ull) << 21;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= ((u_CSAwallace_cska12_csa3_csa_component_out >> 46) & 0x01ull) << 22;
u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4 |= (0x00) << 23;
u_CSAwallace_cska12_csa7_csa_component_out = csa_component24(u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c6, u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_s4, u_CSAwallace_cska12_csa7_csa_component_u_CSAwallace_cska12_csa_c4);
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 0) & 0x01ull) << 0;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 1) & 0x01ull) << 1;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 2) & 0x01ull) << 2;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 3) & 0x01ull) << 3;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 4) & 0x01ull) << 4;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 5) & 0x01ull) << 5;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 17) & 0x01ull) << 17;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 18) & 0x01ull) << 18;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 19) & 0x01ull) << 19;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= (0x00) << 20;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= (0x00) << 21;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= (0x00) << 22;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7 |= (0x00) << 23;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 0;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 1;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 2;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 3;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 27) & 0x01ull) << 4;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 28) & 0x01ull) << 5;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 29) & 0x01ull) << 6;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 30) & 0x01ull) << 7;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 31) & 0x01ull) << 8;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 32) & 0x01ull) << 9;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 33) & 0x01ull) << 10;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 34) & 0x01ull) << 11;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 35) & 0x01ull) << 12;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 36) & 0x01ull) << 13;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 37) & 0x01ull) << 14;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 38) & 0x01ull) << 15;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 39) & 0x01ull) << 16;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= ((u_CSAwallace_cska12_csa6_csa_component_out >> 40) & 0x01ull) << 17;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 18;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 19;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 20;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 21;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 22;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7 |= (0x00) << 23;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= (0x00) << 0;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= (0x00) << 1;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= (0x00) << 2;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= (0x00) << 3;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= (0x00) << 4;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= (0x00) << 5;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= (0x00) << 6;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 17) & 0x01ull) << 17;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 18) & 0x01ull) << 18;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 19) & 0x01ull) << 19;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 20) & 0x01ull) << 20;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 21) & 0x01ull) << 21;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 22) & 0x01ull) << 22;
u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8 |= (0x00) << 23;
u_CSAwallace_cska12_csa8_csa_component_out = csa_component24(u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s7, u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_c7, u_CSAwallace_cska12_csa8_csa_component_u_CSAwallace_cska12_csa_s8);
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 0) & 0x01ull) << 0;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 1) & 0x01ull) << 1;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 2) & 0x01ull) << 2;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 3) & 0x01ull) << 3;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 4) & 0x01ull) << 4;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 5) & 0x01ull) << 5;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 17) & 0x01ull) << 17;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 18) & 0x01ull) << 18;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 19) & 0x01ull) << 19;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 20) & 0x01ull) << 20;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 21) & 0x01ull) << 21;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 22) & 0x01ull) << 22;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9 |= (0x00) << 23;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= (0x00) << 0;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= (0x00) << 1;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= (0x00) << 2;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= (0x00) << 3;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= (0x00) << 4;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 30) & 0x01ull) << 5;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 31) & 0x01ull) << 6;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 32) & 0x01ull) << 7;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 33) & 0x01ull) << 8;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 34) & 0x01ull) << 9;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 35) & 0x01ull) << 10;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 36) & 0x01ull) << 11;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 37) & 0x01ull) << 12;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 38) & 0x01ull) << 13;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 39) & 0x01ull) << 14;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 40) & 0x01ull) << 15;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 41) & 0x01ull) << 16;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 42) & 0x01ull) << 17;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 43) & 0x01ull) << 18;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 44) & 0x01ull) << 19;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= ((u_CSAwallace_cska12_csa8_csa_component_out >> 45) & 0x01ull) << 20;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= (0x00) << 21;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= (0x00) << 22;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9 |= (0x00) << 23;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 0;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 1;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 2;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 3;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 4;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 5;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 6;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 7;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 8;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= (0x00) << 9;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 35) & 0x01ull) << 10;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 36) & 0x01ull) << 11;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 37) & 0x01ull) << 12;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 38) & 0x01ull) << 13;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 39) & 0x01ull) << 14;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 40) & 0x01ull) << 15;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 41) & 0x01ull) << 16;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 42) & 0x01ull) << 17;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 43) & 0x01ull) << 18;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 44) & 0x01ull) << 19;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 45) & 0x01ull) << 20;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 46) & 0x01ull) << 21;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 47) & 0x01ull) << 22;
u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8 |= ((u_CSAwallace_cska12_csa7_csa_component_out >> 48) & 0x01ull) << 23;
u_CSAwallace_cska12_csa9_csa_component_out = csa_component24(u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_s9, u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c9, u_CSAwallace_cska12_csa9_csa_component_u_CSAwallace_cska12_csa_c8);
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 0) & 0x01ull) << 0;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 1) & 0x01ull) << 1;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 2) & 0x01ull) << 2;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 3) & 0x01ull) << 3;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 4) & 0x01ull) << 4;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 5) & 0x01ull) << 5;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 17) & 0x01ull) << 17;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 18) & 0x01ull) << 18;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 19) & 0x01ull) << 19;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 20) & 0x01ull) << 20;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 21) & 0x01ull) << 21;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 22) & 0x01ull) << 22;
u_CSAwallace_cska12_u_cska24_a |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 23) & 0x01ull) << 23;
u_CSAwallace_cska12_u_cska24_b |= (0x00) << 0;
u_CSAwallace_cska12_u_cska24_b |= (0x00) << 1;
u_CSAwallace_cska12_u_cska24_b |= (0x00) << 2;
u_CSAwallace_cska12_u_cska24_b |= (0x00) << 3;
u_CSAwallace_cska12_u_cska24_b |= (0x00) << 4;
u_CSAwallace_cska12_u_cska24_b |= (0x00) << 5;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 31) & 0x01ull) << 6;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 32) & 0x01ull) << 7;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 33) & 0x01ull) << 8;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 34) & 0x01ull) << 9;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 35) & 0x01ull) << 10;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 36) & 0x01ull) << 11;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 37) & 0x01ull) << 12;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 38) & 0x01ull) << 13;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 39) & 0x01ull) << 14;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 40) & 0x01ull) << 15;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 41) & 0x01ull) << 16;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 42) & 0x01ull) << 17;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 43) & 0x01ull) << 18;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 44) & 0x01ull) << 19;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 45) & 0x01ull) << 20;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 46) & 0x01ull) << 21;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 47) & 0x01ull) << 22;
u_CSAwallace_cska12_u_cska24_b |= ((u_CSAwallace_cska12_csa9_csa_component_out >> 48) & 0x01ull) << 23;
u_CSAwallace_cska12_u_cska24_out = u_cska24(u_CSAwallace_cska12_u_cska24_a, u_CSAwallace_cska12_u_cska24_b);
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 0) & 0x01ull) << 0;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 1) & 0x01ull) << 1;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 2) & 0x01ull) << 2;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 3) & 0x01ull) << 3;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 4) & 0x01ull) << 4;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 5) & 0x01ull) << 5;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 6) & 0x01ull) << 6;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 7) & 0x01ull) << 7;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 8) & 0x01ull) << 8;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 9) & 0x01ull) << 9;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 10) & 0x01ull) << 10;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 11) & 0x01ull) << 11;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 12) & 0x01ull) << 12;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 13) & 0x01ull) << 13;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 14) & 0x01ull) << 14;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 15) & 0x01ull) << 15;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 16) & 0x01ull) << 16;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 17) & 0x01ull) << 17;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 18) & 0x01ull) << 18;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 19) & 0x01ull) << 19;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 20) & 0x01ull) << 20;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 21) & 0x01ull) << 21;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 22) & 0x01ull) << 22;
u_CSAwallace_cska12_out |= ((u_CSAwallace_cska12_u_cska24_out >> 23) & 0x01ull) << 23;
return u_CSAwallace_cska12_out;
}