From de4ad6b54737d8d7b99ebe2139db622bafde1de0 Mon Sep 17 00:00:00 2001 From: Nishant Kumar <t-niskum@microsoft.com> Date: Fri, 4 Oct 2019 18:52:55 +0530 Subject: [PATCH] Added license header in ezpc test suite files. --- EzPC/EzPC/test_suite/binop.ezpc | 24 ++ EzPC/EzPC/test_suite/decl.ezpc | 24 ++ EzPC/EzPC/test_suite/dot_product.ezpc | 24 ++ EzPC/EzPC/test_suite/for.ezpc | 24 ++ EzPC/EzPC/test_suite/func.ezpc | 24 ++ EzPC/EzPC/test_suite/if.ezpc | 24 ++ EzPC/EzPC/test_suite/input.ezpc | 24 ++ EzPC/EzPC/test_suite/output.ezpc | 24 ++ .../test_suite/precompiled_output/binop0.cpp | 214 +++++++++--------- .../test_suite/precompiled_output/decl0.cpp | 154 ++++++------- .../precompiled_output/dot_product0.cpp | 178 +++++++-------- .../test_suite/precompiled_output/for0.cpp | 156 ++++++------- .../test_suite/precompiled_output/func0.cpp | 158 ++++++------- .../test_suite/precompiled_output/if0.cpp | 154 ++++++------- .../test_suite/precompiled_output/input0.cpp | 166 +++++++------- .../test_suite/precompiled_output/output0.cpp | 164 +++++++------- .../test_suite/precompiled_output/while0.cpp | 162 ++++++------- EzPC/EzPC/test_suite/while.ezpc | 24 ++ 18 files changed, 969 insertions(+), 753 deletions(-) diff --git a/EzPC/EzPC/test_suite/binop.ezpc b/EzPC/EzPC/test_suite/binop.ezpc index 01810f8..863c3c0 100644 --- a/EzPC/EzPC/test_suite/binop.ezpc +++ b/EzPC/EzPC/test_suite/binop.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* This example shows different kinds of binary operations that can be performed in ezpc. *) diff --git a/EzPC/EzPC/test_suite/decl.ezpc b/EzPC/EzPC/test_suite/decl.ezpc index 674a921..4630852 100644 --- a/EzPC/EzPC/test_suite/decl.ezpc +++ b/EzPC/EzPC/test_suite/decl.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* This shows an example of a declaration in ezpc. *) diff --git a/EzPC/EzPC/test_suite/dot_product.ezpc b/EzPC/EzPC/test_suite/dot_product.ezpc index b4cd438..6b36e06 100644 --- a/EzPC/EzPC/test_suite/dot_product.ezpc +++ b/EzPC/EzPC/test_suite/dot_product.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* This example shows how something like logistic regression can be written in ezpc. The below program calculates (<w;x> > b), where w and x are vetors of same length and b is a scalar. diff --git a/EzPC/EzPC/test_suite/for.ezpc b/EzPC/EzPC/test_suite/for.ezpc index c08153f..0bed568 100644 --- a/EzPC/EzPC/test_suite/for.ezpc +++ b/EzPC/EzPC/test_suite/for.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* This example sums up numbers from 0 to 100 using a for loop. *) diff --git a/EzPC/EzPC/test_suite/func.ezpc b/EzPC/EzPC/test_suite/func.ezpc index 4690c1d..bffd66d 100644 --- a/EzPC/EzPC/test_suite/func.ezpc +++ b/EzPC/EzPC/test_suite/func.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* Following shows how functions are declared and used in ezpc. In general, functions are declared with diff --git a/EzPC/EzPC/test_suite/if.ezpc b/EzPC/EzPC/test_suite/if.ezpc index 7bb5c09..afd420a 100644 --- a/EzPC/EzPC/test_suite/if.ezpc +++ b/EzPC/EzPC/test_suite/if.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* This example shows the usage of if-else conditional block. *) diff --git a/EzPC/EzPC/test_suite/input.ezpc b/EzPC/EzPC/test_suite/input.ezpc index 091f1e8..207a714 100644 --- a/EzPC/EzPC/test_suite/input.ezpc +++ b/EzPC/EzPC/test_suite/input.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* Following shows usage of input statement. In general, syntax is diff --git a/EzPC/EzPC/test_suite/output.ezpc b/EzPC/EzPC/test_suite/output.ezpc index 830bc39..42bf1b0 100644 --- a/EzPC/EzPC/test_suite/output.ezpc +++ b/EzPC/EzPC/test_suite/output.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* This example shows the usage of output statement. In general, the syntax is diff --git a/EzPC/EzPC/test_suite/precompiled_output/binop0.cpp b/EzPC/EzPC/test_suite/precompiled_output/binop0.cpp index e84ad68..4991176 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/binop0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/binop0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,7 +344,7 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } @@ -373,81 +373,81 @@ uint32_t d; c = acirc->PutADDGate(a, b); c = acirc->PutSUBGate(a, b); c = acirc->PutMULGate(a, b); -/* Temporary variable for sub-expression on source location: (130,7-130,9) */ +/* Temporary variable for sub-expression on source location: (170,7-170,9) */ share* __tac_var78 = put_cons32_gate(acirc, (uint32_t)4); c = unsigneddival(b, __tac_var78); d = ( (uint32_t)10 % (uint32_t)4); -/* Temporary variable for sub-expression on source location: (132,5-132,6) */ +/* Temporary variable for sub-expression on source location: (172,5-172,6) */ share* __tac_var79 = ycirc->PutA2YGate(b); -/* Temporary variable for sub-expression on source location: (132,5-132,10) */ +/* Temporary variable for sub-expression on source location: (172,5-172,10) */ share* __tac_var80 = arithmetic_right_shift(ycirc, __tac_var79, (uint32_t)2); c = acirc->PutY2AGate(__tac_var80, bcirc); -/* Temporary variable for sub-expression on source location: (133,5-133,6) */ +/* Temporary variable for sub-expression on source location: (173,5-173,6) */ share* __tac_var81 = __tac_var79; -/* Temporary variable for sub-expression on source location: (133,5-133,10) */ +/* Temporary variable for sub-expression on source location: (173,5-173,10) */ share* __tac_var82 = left_shift(ycirc, __tac_var79, (uint32_t)2); c = acirc->PutY2AGate(__tac_var82, bcirc); -/* Temporary variable for sub-expression on source location: (134,5-134,6) */ +/* Temporary variable for sub-expression on source location: (174,5-174,6) */ share* __tac_var83 = ycirc->PutA2YGate(a); -/* Temporary variable for sub-expression on source location: (134,7-134,8) */ +/* Temporary variable for sub-expression on source location: (174,7-174,8) */ share* __tac_var84 = __tac_var79; -/* Temporary variable for sub-expression on source location: (134,5-134,8) */ +/* Temporary variable for sub-expression on source location: (174,5-174,8) */ share* __tac_var85 = ycirc->PutXORGate(__tac_var83, __tac_var79); c = acirc->PutY2AGate(__tac_var85, bcirc); -/* Temporary variable for sub-expression on source location: (135,5-135,6) */ +/* Temporary variable for sub-expression on source location: (175,5-175,6) */ share* __tac_var86 = __tac_var83; -/* Temporary variable for sub-expression on source location: (135,7-135,8) */ +/* Temporary variable for sub-expression on source location: (175,7-175,8) */ share* __tac_var87 = __tac_var79; -/* Temporary variable for sub-expression on source location: (135,5-135,8) */ +/* Temporary variable for sub-expression on source location: (175,5-175,8) */ share* __tac_var88 = ycirc->PutANDGate(__tac_var83, __tac_var79); c = acirc->PutY2AGate(__tac_var88, bcirc); -/* Temporary variable for sub-expression on source location: (136,5-136,6) */ +/* Temporary variable for sub-expression on source location: (176,5-176,6) */ share* __tac_var89 = __tac_var83; -/* Temporary variable for sub-expression on source location: (136,7-136,8) */ +/* Temporary variable for sub-expression on source location: (176,7-176,8) */ share* __tac_var90 = __tac_var79; -/* Temporary variable for sub-expression on source location: (136,5-136,8) */ +/* Temporary variable for sub-expression on source location: (176,5-176,8) */ share* __tac_var91 = ((BooleanCircuit *) ycirc)->PutORGate(__tac_var83, __tac_var79); c = acirc->PutY2AGate(__tac_var91, bcirc); -/* Temporary variable for sub-expression on source location: (137,5-137,10) */ +/* Temporary variable for sub-expression on source location: (177,5-177,10) */ int32_t __tac_var92 = (pow( (int32_t)2, (int32_t)10)); c = put_cons32_gate(acirc, __tac_var92); -/* Temporary variable for sub-expression on source location: (138,5-138,6) */ +/* Temporary variable for sub-expression on source location: (178,5-178,6) */ share* __tac_var93 = __tac_var79; -/* Temporary variable for sub-expression on source location: (138,5-138,11) */ +/* Temporary variable for sub-expression on source location: (178,5-178,11) */ share* __tac_var94 = logical_right_shift(ycirc, __tac_var79, (uint32_t)2); c = acirc->PutY2AGate(__tac_var94, bcirc); -/* Temporary variable for sub-expression on source location: (139,5-139,16) */ +/* Temporary variable for sub-expression on source location: (179,5-179,16) */ uint32_t __tac_var95 = (1 && 0); e = put_cons1_gate(ycirc, __tac_var95); -/* Temporary variable for sub-expression on source location: (140,5-140,17) */ +/* Temporary variable for sub-expression on source location: (180,5-180,17) */ uint32_t __tac_var96 = (0 || 0); e = put_cons1_gate(ycirc, __tac_var96); -/* Temporary variable for sub-expression on source location: (141,5-141,15) */ +/* Temporary variable for sub-expression on source location: (181,5-181,15) */ uint32_t __tac_var97 = (0 ^ 1); e = put_cons1_gate(ycirc, __tac_var97); -/* Temporary variable for sub-expression on source location: (142,5-142,6) */ +/* Temporary variable for sub-expression on source location: (182,5-182,6) */ share* __tac_var98 = __tac_var83; -/* Temporary variable for sub-expression on source location: (142,7-142,8) */ +/* Temporary variable for sub-expression on source location: (182,7-182,8) */ share* __tac_var99 = __tac_var79; e = ycirc->PutGTGate(__tac_var83, __tac_var79); -/* Temporary variable for sub-expression on source location: (143,6-143,7) */ +/* Temporary variable for sub-expression on source location: (183,6-183,7) */ share* __tac_var100 = __tac_var83; -/* Temporary variable for sub-expression on source location: (143,9-143,10) */ +/* Temporary variable for sub-expression on source location: (183,9-183,10) */ share* __tac_var101 = __tac_var79; e = unsignedequalsbl(__tac_var83, __tac_var79); -/* Temporary variable for sub-expression on source location: (144,5-144,6) */ +/* Temporary variable for sub-expression on source location: (184,5-184,6) */ share* __tac_var102 = __tac_var83; -/* Temporary variable for sub-expression on source location: (144,8-144,9) */ +/* Temporary variable for sub-expression on source location: (184,8-184,9) */ share* __tac_var103 = __tac_var79; e = unsignedgeqbl(__tac_var83, __tac_var79); -/* Temporary variable for sub-expression on source location: (145,5-145,6) */ +/* Temporary variable for sub-expression on source location: (185,5-185,6) */ share* __tac_var104 = __tac_var83; -/* Temporary variable for sub-expression on source location: (145,8-145,9) */ +/* Temporary variable for sub-expression on source location: (185,8-185,9) */ share* __tac_var105 = __tac_var79; e = unsignedleqbl(__tac_var83, __tac_var79); -/* Temporary variable for sub-expression on source location: (146,5-146,6) */ +/* Temporary variable for sub-expression on source location: (186,5-186,6) */ share* __tac_var106 = __tac_var83; -/* Temporary variable for sub-expression on source location: (146,7-146,8) */ +/* Temporary variable for sub-expression on source location: (186,7-186,8) */ share* __tac_var107 = __tac_var79; e = unsignedltbl(__tac_var83, __tac_var79); party->ExecCircuit(); diff --git a/EzPC/EzPC/test_suite/precompiled_output/decl0.cpp b/EzPC/EzPC/test_suite/precompiled_output/decl0.cpp index 10649d4..78fd24d 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/decl0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/decl0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,7 +344,7 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } diff --git a/EzPC/EzPC/test_suite/precompiled_output/dot_product0.cpp b/EzPC/EzPC/test_suite/precompiled_output/dot_product0.cpp index 05eca32..905ee2a 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/dot_product0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/dot_product0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,7 +344,7 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } @@ -367,7 +367,7 @@ auto w = make_vector<share*>( (uint32_t)2); if ((role == SERVER)) { cout << ("Input w:") << endl; } -/* Variable to read the clear value corresponding to the input variable w at (129,1-129,32) */ +/* Variable to read the clear value corresponding to the input variable w at (169,1-169,32) */ uint32_t __tmp_in_w; for (uint32_t i0 = (uint32_t)0; i0 < (uint32_t)2; i0++){ if ((role == SERVER)) { @@ -380,7 +380,7 @@ share* b; if ((role == SERVER)) { cout << ("Input b:") << endl; } -/* Variable to read the clear value corresponding to the input variable b at (130,1-130,27) */ +/* Variable to read the clear value corresponding to the input variable b at (170,1-170,27) */ uint32_t __tmp_in_b; if ((role == SERVER)) { cin >> __tmp_in_b; @@ -391,7 +391,7 @@ auto x = make_vector<share*>( (uint32_t)2); if ((role == CLIENT)) { cout << ("Input x:") << endl; } -/* Variable to read the clear value corresponding to the input variable x at (131,1-131,32) */ +/* Variable to read the clear value corresponding to the input variable x at (171,1-171,32) */ uint32_t __tmp_in_x; for (uint32_t i0 = (uint32_t)0; i0 < (uint32_t)2; i0++){ if ((role == CLIENT)) { @@ -405,26 +405,26 @@ share* acc = put_cons32_gate(acirc, (int32_t)0); uint32_t lower = (uint32_t)0; uint32_t upper = (uint32_t)2; -/* Temporary variable for sub-expression on source location: (135,8-135,21) */ +/* Temporary variable for sub-expression on source location: (175,8-175,21) */ uint32_t __tac_var78 = ( (uint32_t)0 - (uint32_t)0); for (uint32_t i = __tac_var78; i < (uint32_t)2; i++){ -/* Temporary variable for sub-expression on source location: (135,46-135,50) */ +/* Temporary variable for sub-expression on source location: (175,46-175,50) */ share* __tac_var79 = w[i]; -/* Temporary variable for sub-expression on source location: (135,53-135,57) */ +/* Temporary variable for sub-expression on source location: (175,53-175,57) */ share* __tac_var80 = x[i]; -/* Temporary variable for sub-expression on source location: (135,46-135,57) */ +/* Temporary variable for sub-expression on source location: (175,46-175,57) */ share* __tac_var81 = acirc->PutMULGate(__tac_var79, __tac_var80); acc = acirc->PutADDGate(acc, __tac_var81); } -/* Temporary variable for sub-expression on source location: (136,18-136,21) */ +/* Temporary variable for sub-expression on source location: (176,18-176,21) */ share* __tac_var82 = ycirc->PutA2YGate(acc); -/* Temporary variable for sub-expression on source location: (136,18-136,25) */ +/* Temporary variable for sub-expression on source location: (176,18-176,25) */ share* __tac_var83 = signedgtbl(__tac_var82, b); -/* Temporary variable for sub-expression on source location: (136,29-136,30) */ +/* Temporary variable for sub-expression on source location: (176,29-176,30) */ share* __tac_var84 = put_cons32_gate(ycirc, (int32_t)1); -/* Temporary variable for sub-expression on source location: (136,33-136,34) */ +/* Temporary variable for sub-expression on source location: (176,33-176,34) */ share* __tac_var85 = put_cons32_gate(ycirc, (int32_t)0); -/* Temporary variable for sub-expression on source location: (136,17-136,34) */ +/* Temporary variable for sub-expression on source location: (176,17-176,34) */ share* __tac_var86 = ycirc->PutMUXGate(__tac_var84, __tac_var85, __tac_var83); add_print_msg_to_output_queue(out_q, "Value of __tac_var86:", CLIENT, cout); add_to_output_queue(out_q, ycirc->PutOUTGate(__tac_var86, CLIENT), CLIENT, cout); diff --git a/EzPC/EzPC/test_suite/precompiled_output/for0.cpp b/EzPC/EzPC/test_suite/precompiled_output/for0.cpp index 2b239f1..3c282df 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/for0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/for0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,7 +344,7 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } @@ -370,7 +370,7 @@ for (uint32_t i = (int32_t)0; i < (int32_t)100; i++){ arr[i] = put_cons32_gate(acirc, i); } for (uint32_t i = (int32_t)0; i < (int32_t)100; i++){ -/* Temporary variable for sub-expression on source location: (133,16-133,22) */ +/* Temporary variable for sub-expression on source location: (173,16-173,22) */ share* __tac_var78 = arr[i]; summ = acirc->PutADDGate(summ, __tac_var78); } diff --git a/EzPC/EzPC/test_suite/precompiled_output/func0.cpp b/EzPC/EzPC/test_suite/precompiled_output/func0.cpp index 66fca0d..633070b 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/func0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/func0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,15 +344,15 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } share* hello(share* a){ -/* Temporary variable for sub-expression on source location: (127,10-127,12) */ +/* Temporary variable for sub-expression on source location: (167,10-167,12) */ share* __tac_var78 = put_cons32_gate(acirc, (uint32_t)5); -/* Temporary variable for sub-expression on source location: (127,8-127,12) */ +/* Temporary variable for sub-expression on source location: (167,8-167,12) */ share* __tac_var79 = acirc->PutADDGate(a, __tac_var78); return __tac_var79; } diff --git a/EzPC/EzPC/test_suite/precompiled_output/if0.cpp b/EzPC/EzPC/test_suite/precompiled_output/if0.cpp index b406363..ab11a11 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/if0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/if0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,7 +344,7 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } diff --git a/EzPC/EzPC/test_suite/precompiled_output/input0.cpp b/EzPC/EzPC/test_suite/precompiled_output/input0.cpp index 2bfb78a..e459aa5 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/input0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/input0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,7 +344,7 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } @@ -365,7 +365,7 @@ share* w; if ((role == SERVER)) { cout << ("Input w:") << endl; } -/* Variable to read the clear value corresponding to the input variable w at (126,1-126,28) */ +/* Variable to read the clear value corresponding to the input variable w at (166,1-166,28) */ uint32_t __tmp_in_w; if ((role == SERVER)) { cin >> __tmp_in_w; @@ -376,7 +376,7 @@ share* x; if ((role == SERVER)) { cout << ("Input x:") << endl; } -/* Variable to read the clear value corresponding to the input variable x at (127,1-127,28) */ +/* Variable to read the clear value corresponding to the input variable x at (167,1-167,28) */ uint32_t __tmp_in_x; if ((role == SERVER)) { cin >> __tmp_in_x; @@ -387,7 +387,7 @@ auto z = make_vector<share*>( (int32_t)10); if ((role == SERVER)) { cout << ("Input z:") << endl; } -/* Variable to read the clear value corresponding to the input variable z at (128,1-128,32) */ +/* Variable to read the clear value corresponding to the input variable z at (168,1-168,32) */ uint32_t __tmp_in_z; for (uint32_t i0 = (uint32_t)0; i0 < (int32_t)10; i0++){ if ((role == SERVER)) { @@ -400,7 +400,7 @@ auto a = make_vector<share*>( (int32_t)10, (int32_t)100); if ((role == CLIENT)) { cout << ("Input a:") << endl; } -/* Variable to read the clear value corresponding to the input variable a at (129,1-129,37) */ +/* Variable to read the clear value corresponding to the input variable a at (169,1-169,37) */ uint32_t __tmp_in_a; for (uint32_t i0 = (uint32_t)0; i0 < (int32_t)10; i0++){ for (uint32_t i1 = (uint32_t)0; i1 < (int32_t)100; i1++){ @@ -415,7 +415,7 @@ share* b; if ((role == SERVER)) { cout << ("Input b:") << endl; } -/* Variable to read the clear value corresponding to the input variable b at (130,1-130,26) */ +/* Variable to read the clear value corresponding to the input variable b at (170,1-170,26) */ uint32_t __tmp_in_b; if ((role == SERVER)) { cin >> __tmp_in_b; @@ -426,7 +426,7 @@ share* c; if ((role == SERVER)) { cout << ("Input c:") << endl; } -/* Variable to read the clear value corresponding to the input variable c at (131,1-131,26) */ +/* Variable to read the clear value corresponding to the input variable c at (171,1-171,26) */ uint32_t __tmp_in_c; if ((role == SERVER)) { cin >> __tmp_in_c; diff --git a/EzPC/EzPC/test_suite/precompiled_output/output0.cpp b/EzPC/EzPC/test_suite/precompiled_output/output0.cpp index bcb27f1..a14e376 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/output0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/output0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,7 +344,7 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } @@ -365,7 +365,7 @@ share* w; if ((role == SERVER)) { cout << ("Input w:") << endl; } -/* Variable to read the clear value corresponding to the input variable w at (127,1-127,28) */ +/* Variable to read the clear value corresponding to the input variable w at (167,1-167,28) */ uint32_t __tmp_in_w; if ((role == SERVER)) { cin >> __tmp_in_w; @@ -376,7 +376,7 @@ share* x; if ((role == SERVER)) { cout << ("Input x:") << endl; } -/* Variable to read the clear value corresponding to the input variable x at (128,1-128,28) */ +/* Variable to read the clear value corresponding to the input variable x at (168,1-168,28) */ uint32_t __tmp_in_x; if ((role == SERVER)) { cin >> __tmp_in_x; @@ -387,7 +387,7 @@ auto z = make_vector<share*>( (int32_t)10); if ((role == SERVER)) { cout << ("Input z:") << endl; } -/* Variable to read the clear value corresponding to the input variable z at (129,1-129,32) */ +/* Variable to read the clear value corresponding to the input variable z at (169,1-169,32) */ uint32_t __tmp_in_z; for (uint32_t i0 = (uint32_t)0; i0 < (int32_t)10; i0++){ if ((role == SERVER)) { @@ -400,7 +400,7 @@ auto a = make_vector<share*>( (int32_t)10, (int32_t)100); if ((role == CLIENT)) { cout << ("Input a:") << endl; } -/* Variable to read the clear value corresponding to the input variable a at (130,1-130,37) */ +/* Variable to read the clear value corresponding to the input variable a at (170,1-170,37) */ uint32_t __tmp_in_a; for (uint32_t i0 = (uint32_t)0; i0 < (int32_t)10; i0++){ for (uint32_t i1 = (uint32_t)0; i1 < (int32_t)100; i1++){ @@ -415,7 +415,7 @@ share* b; if ((role == SERVER)) { cout << ("Input b:") << endl; } -/* Variable to read the clear value corresponding to the input variable b at (131,1-131,26) */ +/* Variable to read the clear value corresponding to the input variable b at (171,1-171,26) */ uint32_t __tmp_in_b; if ((role == SERVER)) { cin >> __tmp_in_b; diff --git a/EzPC/EzPC/test_suite/precompiled_output/while0.cpp b/EzPC/EzPC/test_suite/precompiled_output/while0.cpp index a243c85..fb3a68a 100644 --- a/EzPC/EzPC/test_suite/precompiled_output/while0.cpp +++ b/EzPC/EzPC/test_suite/precompiled_output/while0.cpp @@ -58,37 +58,37 @@ share* signedgtbl(share* x, share* y){ share* ux = x; share* uy = y; -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ int32_t __tac_var1 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (5,28-5,33) */ +/* Temporary variable for sub-expression on source location: (25,28-25,33) */ share* __tac_var2 = put_cons32_gate(ycirc, __tac_var1); share* signBitX = ycirc->PutANDGate(x, __tac_var2); -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ int32_t __tac_var3 = __tac_var1; -/* Temporary variable for sub-expression on source location: (6,28-6,33) */ +/* Temporary variable for sub-expression on source location: (26,28-26,33) */ share* __tac_var4 = __tac_var2; share* signBitY = ycirc->PutANDGate(y, __tac_var2); -/* Temporary variable for sub-expression on source location: (7,10-7,29) */ +/* Temporary variable for sub-expression on source location: (27,10-27,29) */ share* __tac_var5 = ycirc->PutXORGate(signBitX, signBitY); -/* Temporary variable for sub-expression on source location: (7,33-7,35) */ +/* Temporary variable for sub-expression on source location: (27,33-27,35) */ share* __tac_var6 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (7,9-7,35) */ +/* Temporary variable for sub-expression on source location: (27,9-27,35) */ share* __tac_var7 = ycirc->PutGTGate(__tac_var5, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,52-7,54) */ +/* Temporary variable for sub-expression on source location: (27,52-27,54) */ share* __tac_var8 = __tac_var6; -/* Temporary variable for sub-expression on source location: (7,41-7,54) */ +/* Temporary variable for sub-expression on source location: (27,41-27,54) */ share* __tac_var9 = ycirc->PutGTGate(signBitX, __tac_var6); -/* Temporary variable for sub-expression on source location: (7,58-7,63) */ +/* Temporary variable for sub-expression on source location: (27,58-27,63) */ share* __tac_var10 = put_cons1_gate(ycirc, 0); -/* Temporary variable for sub-expression on source location: (7,66-7,70) */ +/* Temporary variable for sub-expression on source location: (27,66-27,70) */ share* __tac_var11 = put_cons1_gate(ycirc, 1); -/* Temporary variable for sub-expression on source location: (7,40-7,70) */ +/* Temporary variable for sub-expression on source location: (27,40-27,70) */ share* __tac_var12 = ycirc->PutMUXGate(__tac_var10, __tac_var11, __tac_var9); -/* Temporary variable for sub-expression on source location: (7,75-7,82) */ +/* Temporary variable for sub-expression on source location: (27,75-27,82) */ share* __tac_var13 = ycirc->PutGTGate(ux, uy); -/* Temporary variable for sub-expression on source location: (7,8-7,83) */ +/* Temporary variable for sub-expression on source location: (27,8-27,83) */ share* __tac_var14 = ycirc->PutMUXGate(__tac_var12, __tac_var13, __tac_var7); return __tac_var14; } @@ -96,101 +96,101 @@ return __tac_var14; share* signedarshiftbl(share* x, uint32_t y){ share* ux = x; -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ int32_t __tac_var15 = ( (int32_t)1 << (int32_t)31); -/* Temporary variable for sub-expression on source location: (15,28-15,33) */ +/* Temporary variable for sub-expression on source location: (35,28-35,33) */ share* __tac_var16 = put_cons32_gate(ycirc, __tac_var15); share* signBitX = ycirc->PutANDGate(x, __tac_var16); -/* Temporary variable for sub-expression on source location: (16,21-16,23) */ +/* Temporary variable for sub-expression on source location: (36,21-36,23) */ share* __tac_var17 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (16,10-16,23) */ +/* Temporary variable for sub-expression on source location: (36,10-36,23) */ share* __tac_var18 = ycirc->PutGTGate(signBitX, __tac_var17); -/* Temporary variable for sub-expression on source location: (16,28-16,30) */ +/* Temporary variable for sub-expression on source location: (36,28-36,30) */ share* __tac_var19 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,37) */ +/* Temporary variable for sub-expression on source location: (36,35-36,37) */ share* __tac_var20 = __tac_var17; -/* Temporary variable for sub-expression on source location: (16,35-16,42) */ +/* Temporary variable for sub-expression on source location: (36,35-36,42) */ share* __tac_var21 = ycirc->PutSUBGate(__tac_var17, ux); -/* Temporary variable for sub-expression on source location: (16,34-16,48) */ +/* Temporary variable for sub-expression on source location: (36,34-36,48) */ share* __tac_var22 = arithmetic_right_shift(ycirc, __tac_var21, y); -/* Temporary variable for sub-expression on source location: (16,28-16,49) */ +/* Temporary variable for sub-expression on source location: (36,28-36,49) */ share* __tac_var23 = ycirc->PutSUBGate(__tac_var17, __tac_var22); -/* Temporary variable for sub-expression on source location: (16,54-16,61) */ +/* Temporary variable for sub-expression on source location: (36,54-36,61) */ share* __tac_var24 = arithmetic_right_shift(ycirc, ux, y); -/* Temporary variable for sub-expression on source location: (16,9-16,62) */ +/* Temporary variable for sub-expression on source location: (36,9-36,62) */ share* __tac_var25 = ycirc->PutMUXGate(__tac_var23, __tac_var24, __tac_var18); return __tac_var25; } share* unsignedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (20,9-20,14) */ +/* Temporary variable for sub-expression on source location: (40,9-40,14) */ share* __tac_var26 = ycirc->PutGTGate(y, x); return __tac_var26; } share* signedltbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (23,9-23,14) */ +/* Temporary variable for sub-expression on source location: (43,9-43,14) */ share* __tac_var27 = signedgtbl(y, x); return __tac_var27; } share* unsignedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (27,10-27,15) */ +/* Temporary variable for sub-expression on source location: (47,10-47,15) */ share* __tac_var28 = ycirc->PutGTGate(x, y); -/* Temporary variable for sub-expression on source location: (27,8-27,16) */ +/* Temporary variable for sub-expression on source location: (47,8-47,16) */ share* __tac_var29 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var28); return __tac_var29; } share* signedleqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (30,10-30,15) */ +/* Temporary variable for sub-expression on source location: (50,10-50,15) */ share* __tac_var30 = signedgtbl(x, y); -/* Temporary variable for sub-expression on source location: (30,8-30,16) */ +/* Temporary variable for sub-expression on source location: (50,8-50,16) */ share* __tac_var31 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var30); return __tac_var31; } share* unsignedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (34,10-34,15) */ +/* Temporary variable for sub-expression on source location: (54,10-54,15) */ share* __tac_var32 = ycirc->PutGTGate(y, x); -/* Temporary variable for sub-expression on source location: (34,8-34,16) */ +/* Temporary variable for sub-expression on source location: (54,8-54,16) */ share* __tac_var33 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var32); return __tac_var33; } share* signedgeqbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (37,10-37,15) */ +/* Temporary variable for sub-expression on source location: (57,10-57,15) */ share* __tac_var34 = signedgtbl(y, x); -/* Temporary variable for sub-expression on source location: (37,8-37,16) */ +/* Temporary variable for sub-expression on source location: (57,8-57,16) */ share* __tac_var35 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var34); return __tac_var35; } share* unsignedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (41,11-41,16) */ +/* Temporary variable for sub-expression on source location: (61,11-61,16) */ share* __tac_var36 = unsignedltbl(x, y); -/* Temporary variable for sub-expression on source location: (41,9-41,17) */ +/* Temporary variable for sub-expression on source location: (61,9-61,17) */ share* __tac_var37 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var36); -/* Temporary variable for sub-expression on source location: (41,25-41,30) */ +/* Temporary variable for sub-expression on source location: (61,25-61,30) */ share* __tac_var38 = unsignedltbl(y, x); -/* Temporary variable for sub-expression on source location: (41,23-41,31) */ +/* Temporary variable for sub-expression on source location: (61,23-61,31) */ share* __tac_var39 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var38); -/* Temporary variable for sub-expression on source location: (41,8-41,32) */ +/* Temporary variable for sub-expression on source location: (61,8-61,32) */ share* __tac_var40 = ycirc->PutANDGate(__tac_var37, __tac_var39); return __tac_var40; } share* signedequalsbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (44,11-44,16) */ +/* Temporary variable for sub-expression on source location: (64,11-64,16) */ share* __tac_var41 = signedltbl(x, y); -/* Temporary variable for sub-expression on source location: (44,9-44,17) */ +/* Temporary variable for sub-expression on source location: (64,9-64,17) */ share* __tac_var42 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var41); -/* Temporary variable for sub-expression on source location: (44,25-44,30) */ +/* Temporary variable for sub-expression on source location: (64,25-64,30) */ share* __tac_var43 = signedltbl(y, x); -/* Temporary variable for sub-expression on source location: (44,23-44,31) */ +/* Temporary variable for sub-expression on source location: (64,23-64,31) */ share* __tac_var44 = ((BooleanCircuit *) ycirc)->PutINVGate(__tac_var43); -/* Temporary variable for sub-expression on source location: (44,8-44,32) */ +/* Temporary variable for sub-expression on source location: (64,8-64,32) */ share* __tac_var45 = ycirc->PutANDGate(__tac_var42, __tac_var44); return __tac_var45; } @@ -206,33 +206,33 @@ for (uint32_t iter = (int32_t)0; iter < (int32_t)32; iter++){ uint32_t i = ( (int32_t)31 - iter); divisor = left_shift(ycirc, divisor, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ uint32_t __tac_var46 = ( (uint32_t)1 << i); -/* Temporary variable for sub-expression on source location: (61,32-61,39) */ +/* Temporary variable for sub-expression on source location: (81,32-81,39) */ share* __tac_var47 = put_cons32_gate(ycirc, __tac_var46); -/* Temporary variable for sub-expression on source location: (61,27-61,40) */ +/* Temporary variable for sub-expression on source location: (81,27-81,40) */ share* __tac_var48 = ycirc->PutANDGate(x, __tac_var47); -/* Temporary variable for sub-expression on source location: (61,26-61,47) */ +/* Temporary variable for sub-expression on source location: (81,26-81,47) */ share* __tac_var49 = logical_right_shift(ycirc, __tac_var48, i); divisor = ycirc->PutADDGate(divisor, __tac_var49); cond = unsignedgeqbl(divisor, y); -/* Temporary variable for sub-expression on source location: (63,22-63,36) */ +/* Temporary variable for sub-expression on source location: (83,22-83,36) */ share* __tac_var50 = ycirc->PutSUBGate(divisor, y); divisor = ycirc->PutMUXGate(__tac_var50, divisor, cond); q = left_shift(ycirc, q, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,19-65,21) */ +/* Temporary variable for sub-expression on source location: (85,19-85,21) */ share* __tac_var51 = put_cons32_gate(ycirc, (uint32_t)1); -/* Temporary variable for sub-expression on source location: (65,15-65,21) */ +/* Temporary variable for sub-expression on source location: (85,15-85,21) */ share* __tac_var52 = ycirc->PutADDGate(q, __tac_var51); q = ycirc->PutMUXGate(__tac_var52, q, cond); } -/* Temporary variable for sub-expression on source location: (68,9-68,34) */ +/* Temporary variable for sub-expression on source location: (88,9-88,34) */ share* __tac_var53 = getQuotient ? q : divisor; return __tac_var53; } share* unsigneddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (71,8-71,32) */ +/* Temporary variable for sub-expression on source location: (91,8-91,32) */ share* __tac_var54 = longDivision(x, y, 1); return __tac_var54; } @@ -242,29 +242,29 @@ share* unsigneddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (76,8-76,13) */ +/* Temporary variable for sub-expression on source location: (96,8-96,13) */ share* __tac_var55 = unsigneddivbl(bx, by); return __tac_var55; } share* signeddivbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (79,23-79,24) */ +/* Temporary variable for sub-expression on source location: (99,23-99,24) */ share* __tac_var56 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var56); -/* Temporary variable for sub-expression on source location: (80,23-80,24) */ +/* Temporary variable for sub-expression on source location: (100,23-100,24) */ share* __tac_var57 = __tac_var56; share* isYNeg = signedltbl(y, __tac_var56); -/* Temporary variable for sub-expression on source location: (81,26-81,27) */ +/* Temporary variable for sub-expression on source location: (101,26-101,27) */ share* __tac_var58 = __tac_var56; -/* Temporary variable for sub-expression on source location: (81,26-81,31) */ +/* Temporary variable for sub-expression on source location: (101,26-101,31) */ share* __tac_var59 = ycirc->PutSUBGate(__tac_var56, x); share* ux = ycirc->PutMUXGate(__tac_var59, x, isXNeg); -/* Temporary variable for sub-expression on source location: (82,26-82,27) */ +/* Temporary variable for sub-expression on source location: (102,26-102,27) */ share* __tac_var60 = __tac_var56; -/* Temporary variable for sub-expression on source location: (82,26-82,31) */ +/* Temporary variable for sub-expression on source location: (102,26-102,31) */ share* __tac_var61 = ycirc->PutSUBGate(__tac_var56, y); share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); @@ -272,11 +272,11 @@ share* uy = ycirc->PutMUXGate(__tac_var61, y, isYNeg); share* ures = unsigneddivbl(ux, uy); share* isResNeg = ycirc->PutXORGate(isXNeg, isYNeg); -/* Temporary variable for sub-expression on source location: (85,21-85,23) */ +/* Temporary variable for sub-expression on source location: (105,21-105,23) */ share* __tac_var62 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (85,21-85,30) */ +/* Temporary variable for sub-expression on source location: (105,21-105,30) */ share* __tac_var63 = ycirc->PutSUBGate(__tac_var62, ures); -/* Temporary variable for sub-expression on source location: (85,9-85,38) */ +/* Temporary variable for sub-expression on source location: (105,9-105,38) */ share* __tac_var64 = ycirc->PutMUXGate(__tac_var63, ures, isResNeg); return __tac_var64; } @@ -286,13 +286,13 @@ share* signeddival(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (90,8-90,13) */ +/* Temporary variable for sub-expression on source location: (110,8-110,13) */ share* __tac_var65 = signeddivbl(bx, by); return __tac_var65; } share* unsignedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (98,8-98,33) */ +/* Temporary variable for sub-expression on source location: (118,8-118,33) */ share* __tac_var66 = longDivision(x, y, 0); return __tac_var66; } @@ -302,39 +302,39 @@ share* unsignedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (103,8-103,13) */ +/* Temporary variable for sub-expression on source location: (123,8-123,13) */ share* __tac_var67 = unsignedmodbl(bx, by); return __tac_var67; } share* signedmodbl(share* x, share* y){ -/* Temporary variable for sub-expression on source location: (106,23-106,24) */ +/* Temporary variable for sub-expression on source location: (126,23-126,24) */ share* __tac_var68 = put_cons32_gate(ycirc, (int32_t)0); share* isXNeg = signedltbl(x, __tac_var68); -/* Temporary variable for sub-expression on source location: (107,23-107,24) */ +/* Temporary variable for sub-expression on source location: (127,23-127,24) */ share* __tac_var69 = __tac_var68; share* isYNeg = signedltbl(y, __tac_var68); -/* Temporary variable for sub-expression on source location: (108,26-108,27) */ +/* Temporary variable for sub-expression on source location: (128,26-128,27) */ share* __tac_var70 = __tac_var68; -/* Temporary variable for sub-expression on source location: (108,26-108,31) */ +/* Temporary variable for sub-expression on source location: (128,26-128,31) */ share* __tac_var71 = ycirc->PutSUBGate(__tac_var68, x); share* ux = ycirc->PutMUXGate(__tac_var71, x, isXNeg); -/* Temporary variable for sub-expression on source location: (109,26-109,27) */ +/* Temporary variable for sub-expression on source location: (129,26-129,27) */ share* __tac_var72 = __tac_var68; -/* Temporary variable for sub-expression on source location: (109,26-109,31) */ +/* Temporary variable for sub-expression on source location: (129,26-129,31) */ share* __tac_var73 = ycirc->PutSUBGate(__tac_var68, y); share* uy = ycirc->PutMUXGate(__tac_var73, y, isYNeg); share* urem = unsignedmodbl(ux, uy); -/* Temporary variable for sub-expression on source location: (111,19-111,21) */ +/* Temporary variable for sub-expression on source location: (131,19-131,21) */ share* __tac_var74 = put_cons32_gate(ycirc, (uint32_t)0); -/* Temporary variable for sub-expression on source location: (111,19-111,28) */ +/* Temporary variable for sub-expression on source location: (131,19-131,28) */ share* __tac_var75 = ycirc->PutSUBGate(__tac_var74, urem); -/* Temporary variable for sub-expression on source location: (111,9-111,36) */ +/* Temporary variable for sub-expression on source location: (131,9-131,36) */ share* __tac_var76 = ycirc->PutMUXGate(__tac_var75, urem, isXNeg); return __tac_var76; } @@ -344,7 +344,7 @@ share* signedmodal(share* x, share* y){ share* bx = ycirc->PutA2YGate(x); share* by = ycirc->PutA2YGate(y); -/* Temporary variable for sub-expression on source location: (116,8-116,13) */ +/* Temporary variable for sub-expression on source location: (136,8-136,13) */ share* __tac_var77 = signedmodbl(bx, by); return __tac_var77; } @@ -366,17 +366,17 @@ yy[ (int32_t)0] = put_cons32_gate(acirc, (int32_t)0); int32_t i = (int32_t)1; while ((i < (int32_t)10)) { -/* Temporary variable for sub-expression on source location: (131,13-131,16) */ +/* Temporary variable for sub-expression on source location: (171,13-171,16) */ int32_t __tac_var78 = (i - (int32_t)1); -/* Temporary variable for sub-expression on source location: (131,10-131,17) */ +/* Temporary variable for sub-expression on source location: (171,10-171,17) */ share* __tac_var79 = yy[__tac_var78]; -/* Temporary variable for sub-expression on source location: (131,20-131,21) */ +/* Temporary variable for sub-expression on source location: (171,20-171,21) */ share* __tac_var80 = put_cons32_gate(acirc, (int32_t)1); yy[i] = acirc->PutADDGate(__tac_var79, __tac_var80); i = (i + (int32_t)1); } -/* Temporary variable for sub-expression on source location: (134,13-134,18) */ +/* Temporary variable for sub-expression on source location: (174,13-174,18) */ share* __tac_var81 = yy[ (int32_t)9]; add_print_msg_to_output_queue(out_q, "Value of __tac_var81:", ALL, cout); add_to_output_queue(out_q, acirc->PutOUTGate(__tac_var81, ALL), ALL, cout); diff --git a/EzPC/EzPC/test_suite/while.ezpc b/EzPC/EzPC/test_suite/while.ezpc index e75d9e4..2059277 100644 --- a/EzPC/EzPC/test_suite/while.ezpc +++ b/EzPC/EzPC/test_suite/while.ezpc @@ -1,3 +1,27 @@ +(* + +Authors: Nishant Kumar, Aseem Rastogi. + +Copyright: +Copyright (c) 2018 Microsoft Research +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*) + (* This example shows the usage of while loop. *) -- GitLab