change some parameters in the library to meet the needs of the website httpbin.org
Fork of MiniTLS-GPL by
math/sqr/fp_sqr_comba_small_set.c@5:95f70ebfe61f, 2015-02-06 (annotated)
- Committer:
- shiyilei
- Date:
- Fri Feb 06 06:17:33 2015 +0000
- Revision:
- 5:95f70ebfe61f
- Parent:
- 0:35aa5be3b78d
change some parameters in the library to meet the needs of httpbin.org
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MiniTLS | 0:35aa5be3b78d | 1 | #define TFM_DEFINES |
MiniTLS | 0:35aa5be3b78d | 2 | #include "fp_sqr_comba.c" |
MiniTLS | 0:35aa5be3b78d | 3 | |
MiniTLS | 0:35aa5be3b78d | 4 | #if defined(TFM_SMALL_SET) |
MiniTLS | 0:35aa5be3b78d | 5 | void fp_sqr_comba_small(fp_int *A, fp_int *B) |
MiniTLS | 0:35aa5be3b78d | 6 | { |
MiniTLS | 0:35aa5be3b78d | 7 | fp_digit *a, b[32], c0, c1, c2, sc0, sc1, sc2; |
MiniTLS | 0:35aa5be3b78d | 8 | #ifdef TFM_ISO |
MiniTLS | 0:35aa5be3b78d | 9 | fp_word tt; |
MiniTLS | 0:35aa5be3b78d | 10 | #endif |
MiniTLS | 0:35aa5be3b78d | 11 | switch (A->used) { |
MiniTLS | 0:35aa5be3b78d | 12 | case 1: |
MiniTLS | 0:35aa5be3b78d | 13 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 14 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 15 | |
MiniTLS | 0:35aa5be3b78d | 16 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 17 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 18 | |
MiniTLS | 0:35aa5be3b78d | 19 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 20 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 21 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 22 | COMBA_STORE2(b[1]); |
MiniTLS | 0:35aa5be3b78d | 23 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 24 | |
MiniTLS | 0:35aa5be3b78d | 25 | B->used = 2; |
MiniTLS | 0:35aa5be3b78d | 26 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 27 | memcpy(B->dp, b, 2 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 28 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 29 | break; |
MiniTLS | 0:35aa5be3b78d | 30 | |
MiniTLS | 0:35aa5be3b78d | 31 | case 2: |
MiniTLS | 0:35aa5be3b78d | 32 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 33 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 34 | |
MiniTLS | 0:35aa5be3b78d | 35 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 36 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 37 | |
MiniTLS | 0:35aa5be3b78d | 38 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 39 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 40 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 41 | |
MiniTLS | 0:35aa5be3b78d | 42 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 43 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 44 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 45 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 46 | |
MiniTLS | 0:35aa5be3b78d | 47 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 48 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 49 | SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 50 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 51 | COMBA_STORE2(b[3]); |
MiniTLS | 0:35aa5be3b78d | 52 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 53 | |
MiniTLS | 0:35aa5be3b78d | 54 | B->used = 4; |
MiniTLS | 0:35aa5be3b78d | 55 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 56 | memcpy(B->dp, b, 4 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 57 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 58 | break; |
MiniTLS | 0:35aa5be3b78d | 59 | |
MiniTLS | 0:35aa5be3b78d | 60 | case 3: |
MiniTLS | 0:35aa5be3b78d | 61 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 62 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 63 | |
MiniTLS | 0:35aa5be3b78d | 64 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 65 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 66 | |
MiniTLS | 0:35aa5be3b78d | 67 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 68 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 69 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 70 | |
MiniTLS | 0:35aa5be3b78d | 71 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 72 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 73 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 74 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 75 | |
MiniTLS | 0:35aa5be3b78d | 76 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 77 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 78 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 79 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 80 | |
MiniTLS | 0:35aa5be3b78d | 81 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 82 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 83 | SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 84 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 85 | |
MiniTLS | 0:35aa5be3b78d | 86 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 87 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 88 | SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 89 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 90 | COMBA_STORE2(b[5]); |
MiniTLS | 0:35aa5be3b78d | 91 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 92 | |
MiniTLS | 0:35aa5be3b78d | 93 | B->used = 6; |
MiniTLS | 0:35aa5be3b78d | 94 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 95 | memcpy(B->dp, b, 6 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 96 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 97 | break; |
MiniTLS | 0:35aa5be3b78d | 98 | |
MiniTLS | 0:35aa5be3b78d | 99 | case 4: |
MiniTLS | 0:35aa5be3b78d | 100 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 101 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 102 | |
MiniTLS | 0:35aa5be3b78d | 103 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 104 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 105 | |
MiniTLS | 0:35aa5be3b78d | 106 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 107 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 108 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 109 | |
MiniTLS | 0:35aa5be3b78d | 110 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 111 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 112 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 113 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 114 | |
MiniTLS | 0:35aa5be3b78d | 115 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 116 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 117 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 118 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 119 | |
MiniTLS | 0:35aa5be3b78d | 120 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 121 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 122 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 123 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 124 | |
MiniTLS | 0:35aa5be3b78d | 125 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 126 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 127 | SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 128 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 129 | |
MiniTLS | 0:35aa5be3b78d | 130 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 131 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 132 | SQRADD2(a[2], a[3]); |
MiniTLS | 0:35aa5be3b78d | 133 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 134 | |
MiniTLS | 0:35aa5be3b78d | 135 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 136 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 137 | SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 138 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 139 | COMBA_STORE2(b[7]); |
MiniTLS | 0:35aa5be3b78d | 140 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 141 | |
MiniTLS | 0:35aa5be3b78d | 142 | B->used = 8; |
MiniTLS | 0:35aa5be3b78d | 143 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 144 | memcpy(B->dp, b, 8 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 145 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 146 | break; |
MiniTLS | 0:35aa5be3b78d | 147 | |
MiniTLS | 0:35aa5be3b78d | 148 | case 5: |
MiniTLS | 0:35aa5be3b78d | 149 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 150 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 151 | |
MiniTLS | 0:35aa5be3b78d | 152 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 153 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 154 | |
MiniTLS | 0:35aa5be3b78d | 155 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 156 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 157 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 158 | |
MiniTLS | 0:35aa5be3b78d | 159 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 160 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 161 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 162 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 163 | |
MiniTLS | 0:35aa5be3b78d | 164 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 165 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 166 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 167 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 168 | |
MiniTLS | 0:35aa5be3b78d | 169 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 170 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 171 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 172 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 173 | |
MiniTLS | 0:35aa5be3b78d | 174 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 175 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 176 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 177 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 178 | |
MiniTLS | 0:35aa5be3b78d | 179 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 180 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 181 | SQRADD2(a[1], a[4]); SQRADD2(a[2], a[3]); |
MiniTLS | 0:35aa5be3b78d | 182 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 183 | |
MiniTLS | 0:35aa5be3b78d | 184 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 185 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 186 | SQRADD2(a[2], a[4]); SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 187 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 188 | |
MiniTLS | 0:35aa5be3b78d | 189 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 190 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 191 | SQRADD2(a[3], a[4]); |
MiniTLS | 0:35aa5be3b78d | 192 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 193 | |
MiniTLS | 0:35aa5be3b78d | 194 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 195 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 196 | SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 197 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 198 | COMBA_STORE2(b[9]); |
MiniTLS | 0:35aa5be3b78d | 199 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 200 | |
MiniTLS | 0:35aa5be3b78d | 201 | B->used = 10; |
MiniTLS | 0:35aa5be3b78d | 202 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 203 | memcpy(B->dp, b, 10 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 204 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 205 | break; |
MiniTLS | 0:35aa5be3b78d | 206 | |
MiniTLS | 0:35aa5be3b78d | 207 | case 6: |
MiniTLS | 0:35aa5be3b78d | 208 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 209 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 210 | |
MiniTLS | 0:35aa5be3b78d | 211 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 212 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 213 | |
MiniTLS | 0:35aa5be3b78d | 214 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 215 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 216 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 217 | |
MiniTLS | 0:35aa5be3b78d | 218 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 219 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 220 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 221 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 222 | |
MiniTLS | 0:35aa5be3b78d | 223 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 224 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 225 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 226 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 227 | |
MiniTLS | 0:35aa5be3b78d | 228 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 229 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 230 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 231 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 232 | |
MiniTLS | 0:35aa5be3b78d | 233 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 234 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 235 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 236 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 237 | |
MiniTLS | 0:35aa5be3b78d | 238 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 239 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 240 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 241 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 242 | |
MiniTLS | 0:35aa5be3b78d | 243 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 244 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 245 | SQRADD2(a[1], a[5]); SQRADD2(a[2], a[4]); SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 246 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 247 | |
MiniTLS | 0:35aa5be3b78d | 248 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 249 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 250 | SQRADD2(a[2], a[5]); SQRADD2(a[3], a[4]); |
MiniTLS | 0:35aa5be3b78d | 251 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 252 | |
MiniTLS | 0:35aa5be3b78d | 253 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 254 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 255 | SQRADD2(a[3], a[5]); SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 256 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 257 | |
MiniTLS | 0:35aa5be3b78d | 258 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 259 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 260 | SQRADD2(a[4], a[5]); |
MiniTLS | 0:35aa5be3b78d | 261 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 262 | |
MiniTLS | 0:35aa5be3b78d | 263 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 264 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 265 | SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 266 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 267 | COMBA_STORE2(b[11]); |
MiniTLS | 0:35aa5be3b78d | 268 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 269 | |
MiniTLS | 0:35aa5be3b78d | 270 | B->used = 12; |
MiniTLS | 0:35aa5be3b78d | 271 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 272 | memcpy(B->dp, b, 12 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 273 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 274 | break; |
MiniTLS | 0:35aa5be3b78d | 275 | |
MiniTLS | 0:35aa5be3b78d | 276 | case 7: |
MiniTLS | 0:35aa5be3b78d | 277 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 278 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 279 | |
MiniTLS | 0:35aa5be3b78d | 280 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 281 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 282 | |
MiniTLS | 0:35aa5be3b78d | 283 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 284 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 285 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 286 | |
MiniTLS | 0:35aa5be3b78d | 287 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 288 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 289 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 290 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 291 | |
MiniTLS | 0:35aa5be3b78d | 292 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 293 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 294 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 295 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 296 | |
MiniTLS | 0:35aa5be3b78d | 297 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 298 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 299 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 300 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 301 | |
MiniTLS | 0:35aa5be3b78d | 302 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 303 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 304 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 305 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 306 | |
MiniTLS | 0:35aa5be3b78d | 307 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 308 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 309 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 310 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 311 | |
MiniTLS | 0:35aa5be3b78d | 312 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 313 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 314 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 315 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 316 | |
MiniTLS | 0:35aa5be3b78d | 317 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 318 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 319 | SQRADDSC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 320 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 321 | |
MiniTLS | 0:35aa5be3b78d | 322 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 323 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 324 | SQRADD2(a[2], a[6]); SQRADD2(a[3], a[5]); SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 325 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 326 | |
MiniTLS | 0:35aa5be3b78d | 327 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 328 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 329 | SQRADD2(a[3], a[6]); SQRADD2(a[4], a[5]); |
MiniTLS | 0:35aa5be3b78d | 330 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 331 | |
MiniTLS | 0:35aa5be3b78d | 332 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 333 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 334 | SQRADD2(a[4], a[6]); SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 335 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 336 | |
MiniTLS | 0:35aa5be3b78d | 337 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 338 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 339 | SQRADD2(a[5], a[6]); |
MiniTLS | 0:35aa5be3b78d | 340 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 341 | |
MiniTLS | 0:35aa5be3b78d | 342 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 343 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 344 | SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 345 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 346 | COMBA_STORE2(b[13]); |
MiniTLS | 0:35aa5be3b78d | 347 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 348 | |
MiniTLS | 0:35aa5be3b78d | 349 | B->used = 14; |
MiniTLS | 0:35aa5be3b78d | 350 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 351 | memcpy(B->dp, b, 14 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 352 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 353 | break; |
MiniTLS | 0:35aa5be3b78d | 354 | |
MiniTLS | 0:35aa5be3b78d | 355 | case 8: |
MiniTLS | 0:35aa5be3b78d | 356 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 357 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 358 | |
MiniTLS | 0:35aa5be3b78d | 359 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 360 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 361 | |
MiniTLS | 0:35aa5be3b78d | 362 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 363 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 364 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 365 | |
MiniTLS | 0:35aa5be3b78d | 366 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 367 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 368 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 369 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 370 | |
MiniTLS | 0:35aa5be3b78d | 371 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 372 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 373 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 374 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 375 | |
MiniTLS | 0:35aa5be3b78d | 376 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 377 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 378 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 379 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 380 | |
MiniTLS | 0:35aa5be3b78d | 381 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 382 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 383 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 384 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 385 | |
MiniTLS | 0:35aa5be3b78d | 386 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 387 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 388 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 389 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 390 | |
MiniTLS | 0:35aa5be3b78d | 391 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 392 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 393 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 394 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 395 | |
MiniTLS | 0:35aa5be3b78d | 396 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 397 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 398 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 399 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 400 | |
MiniTLS | 0:35aa5be3b78d | 401 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 402 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 403 | SQRADDSC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 404 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 405 | |
MiniTLS | 0:35aa5be3b78d | 406 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 407 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 408 | SQRADDSC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 409 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 410 | |
MiniTLS | 0:35aa5be3b78d | 411 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 412 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 413 | SQRADD2(a[3], a[7]); SQRADD2(a[4], a[6]); SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 414 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 415 | |
MiniTLS | 0:35aa5be3b78d | 416 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 417 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 418 | SQRADD2(a[4], a[7]); SQRADD2(a[5], a[6]); |
MiniTLS | 0:35aa5be3b78d | 419 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 420 | |
MiniTLS | 0:35aa5be3b78d | 421 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 422 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 423 | SQRADD2(a[5], a[7]); SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 424 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 425 | |
MiniTLS | 0:35aa5be3b78d | 426 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 427 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 428 | SQRADD2(a[6], a[7]); |
MiniTLS | 0:35aa5be3b78d | 429 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 430 | |
MiniTLS | 0:35aa5be3b78d | 431 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 432 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 433 | SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 434 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 435 | COMBA_STORE2(b[15]); |
MiniTLS | 0:35aa5be3b78d | 436 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 437 | |
MiniTLS | 0:35aa5be3b78d | 438 | B->used = 16; |
MiniTLS | 0:35aa5be3b78d | 439 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 440 | memcpy(B->dp, b, 16 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 441 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 442 | break; |
MiniTLS | 0:35aa5be3b78d | 443 | |
MiniTLS | 0:35aa5be3b78d | 444 | case 9: |
MiniTLS | 0:35aa5be3b78d | 445 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 446 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 447 | |
MiniTLS | 0:35aa5be3b78d | 448 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 449 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 450 | |
MiniTLS | 0:35aa5be3b78d | 451 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 452 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 453 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 454 | |
MiniTLS | 0:35aa5be3b78d | 455 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 456 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 457 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 458 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 459 | |
MiniTLS | 0:35aa5be3b78d | 460 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 461 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 462 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 463 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 464 | |
MiniTLS | 0:35aa5be3b78d | 465 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 466 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 467 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 468 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 469 | |
MiniTLS | 0:35aa5be3b78d | 470 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 471 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 472 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 473 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 474 | |
MiniTLS | 0:35aa5be3b78d | 475 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 476 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 477 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 478 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 479 | |
MiniTLS | 0:35aa5be3b78d | 480 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 481 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 482 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 483 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 484 | |
MiniTLS | 0:35aa5be3b78d | 485 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 486 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 487 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 488 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 489 | |
MiniTLS | 0:35aa5be3b78d | 490 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 491 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 492 | SQRADDSC(a[0], a[8]); SQRADDAC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 493 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 494 | |
MiniTLS | 0:35aa5be3b78d | 495 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 496 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 497 | SQRADDSC(a[1], a[8]); SQRADDAC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 498 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 499 | |
MiniTLS | 0:35aa5be3b78d | 500 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 501 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 502 | SQRADDSC(a[2], a[8]); SQRADDAC(a[3], a[7]); SQRADDAC(a[4], a[6]); SQRADDDB; SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 503 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 504 | |
MiniTLS | 0:35aa5be3b78d | 505 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 506 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 507 | SQRADDSC(a[3], a[8]); SQRADDAC(a[4], a[7]); SQRADDAC(a[5], a[6]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 508 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 509 | |
MiniTLS | 0:35aa5be3b78d | 510 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 511 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 512 | SQRADD2(a[4], a[8]); SQRADD2(a[5], a[7]); SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 513 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 514 | |
MiniTLS | 0:35aa5be3b78d | 515 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 516 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 517 | SQRADD2(a[5], a[8]); SQRADD2(a[6], a[7]); |
MiniTLS | 0:35aa5be3b78d | 518 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 519 | |
MiniTLS | 0:35aa5be3b78d | 520 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 521 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 522 | SQRADD2(a[6], a[8]); SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 523 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 524 | |
MiniTLS | 0:35aa5be3b78d | 525 | /* output 15 */ |
MiniTLS | 0:35aa5be3b78d | 526 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 527 | SQRADD2(a[7], a[8]); |
MiniTLS | 0:35aa5be3b78d | 528 | COMBA_STORE(b[15]); |
MiniTLS | 0:35aa5be3b78d | 529 | |
MiniTLS | 0:35aa5be3b78d | 530 | /* output 16 */ |
MiniTLS | 0:35aa5be3b78d | 531 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 532 | SQRADD(a[8], a[8]); |
MiniTLS | 0:35aa5be3b78d | 533 | COMBA_STORE(b[16]); |
MiniTLS | 0:35aa5be3b78d | 534 | COMBA_STORE2(b[17]); |
MiniTLS | 0:35aa5be3b78d | 535 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 536 | |
MiniTLS | 0:35aa5be3b78d | 537 | B->used = 18; |
MiniTLS | 0:35aa5be3b78d | 538 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 539 | memcpy(B->dp, b, 18 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 540 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 541 | break; |
MiniTLS | 0:35aa5be3b78d | 542 | |
MiniTLS | 0:35aa5be3b78d | 543 | case 10: |
MiniTLS | 0:35aa5be3b78d | 544 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 545 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 546 | |
MiniTLS | 0:35aa5be3b78d | 547 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 548 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 549 | |
MiniTLS | 0:35aa5be3b78d | 550 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 551 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 552 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 553 | |
MiniTLS | 0:35aa5be3b78d | 554 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 555 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 556 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 557 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 558 | |
MiniTLS | 0:35aa5be3b78d | 559 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 560 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 561 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 562 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 563 | |
MiniTLS | 0:35aa5be3b78d | 564 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 565 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 566 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 567 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 568 | |
MiniTLS | 0:35aa5be3b78d | 569 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 570 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 571 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 572 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 573 | |
MiniTLS | 0:35aa5be3b78d | 574 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 575 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 576 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 577 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 578 | |
MiniTLS | 0:35aa5be3b78d | 579 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 580 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 581 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 582 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 583 | |
MiniTLS | 0:35aa5be3b78d | 584 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 585 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 586 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 587 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 588 | |
MiniTLS | 0:35aa5be3b78d | 589 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 590 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 591 | SQRADDSC(a[0], a[8]); SQRADDAC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 592 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 593 | |
MiniTLS | 0:35aa5be3b78d | 594 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 595 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 596 | SQRADDSC(a[0], a[9]); SQRADDAC(a[1], a[8]); SQRADDAC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 597 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 598 | |
MiniTLS | 0:35aa5be3b78d | 599 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 600 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 601 | SQRADDSC(a[1], a[9]); SQRADDAC(a[2], a[8]); SQRADDAC(a[3], a[7]); SQRADDAC(a[4], a[6]); SQRADDDB; SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 602 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 603 | |
MiniTLS | 0:35aa5be3b78d | 604 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 605 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 606 | SQRADDSC(a[2], a[9]); SQRADDAC(a[3], a[8]); SQRADDAC(a[4], a[7]); SQRADDAC(a[5], a[6]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 607 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 608 | |
MiniTLS | 0:35aa5be3b78d | 609 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 610 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 611 | SQRADDSC(a[3], a[9]); SQRADDAC(a[4], a[8]); SQRADDAC(a[5], a[7]); SQRADDDB; SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 612 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 613 | |
MiniTLS | 0:35aa5be3b78d | 614 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 615 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 616 | SQRADDSC(a[4], a[9]); SQRADDAC(a[5], a[8]); SQRADDAC(a[6], a[7]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 617 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 618 | |
MiniTLS | 0:35aa5be3b78d | 619 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 620 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 621 | SQRADD2(a[5], a[9]); SQRADD2(a[6], a[8]); SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 622 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 623 | |
MiniTLS | 0:35aa5be3b78d | 624 | /* output 15 */ |
MiniTLS | 0:35aa5be3b78d | 625 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 626 | SQRADD2(a[6], a[9]); SQRADD2(a[7], a[8]); |
MiniTLS | 0:35aa5be3b78d | 627 | COMBA_STORE(b[15]); |
MiniTLS | 0:35aa5be3b78d | 628 | |
MiniTLS | 0:35aa5be3b78d | 629 | /* output 16 */ |
MiniTLS | 0:35aa5be3b78d | 630 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 631 | SQRADD2(a[7], a[9]); SQRADD(a[8], a[8]); |
MiniTLS | 0:35aa5be3b78d | 632 | COMBA_STORE(b[16]); |
MiniTLS | 0:35aa5be3b78d | 633 | |
MiniTLS | 0:35aa5be3b78d | 634 | /* output 17 */ |
MiniTLS | 0:35aa5be3b78d | 635 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 636 | SQRADD2(a[8], a[9]); |
MiniTLS | 0:35aa5be3b78d | 637 | COMBA_STORE(b[17]); |
MiniTLS | 0:35aa5be3b78d | 638 | |
MiniTLS | 0:35aa5be3b78d | 639 | /* output 18 */ |
MiniTLS | 0:35aa5be3b78d | 640 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 641 | SQRADD(a[9], a[9]); |
MiniTLS | 0:35aa5be3b78d | 642 | COMBA_STORE(b[18]); |
MiniTLS | 0:35aa5be3b78d | 643 | COMBA_STORE2(b[19]); |
MiniTLS | 0:35aa5be3b78d | 644 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 645 | |
MiniTLS | 0:35aa5be3b78d | 646 | B->used = 20; |
MiniTLS | 0:35aa5be3b78d | 647 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 648 | memcpy(B->dp, b, 20 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 649 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 650 | break; |
MiniTLS | 0:35aa5be3b78d | 651 | |
MiniTLS | 0:35aa5be3b78d | 652 | case 11: |
MiniTLS | 0:35aa5be3b78d | 653 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 654 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 655 | |
MiniTLS | 0:35aa5be3b78d | 656 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 657 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 658 | |
MiniTLS | 0:35aa5be3b78d | 659 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 660 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 661 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 662 | |
MiniTLS | 0:35aa5be3b78d | 663 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 664 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 665 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 666 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 667 | |
MiniTLS | 0:35aa5be3b78d | 668 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 669 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 670 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 671 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 672 | |
MiniTLS | 0:35aa5be3b78d | 673 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 674 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 675 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 676 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 677 | |
MiniTLS | 0:35aa5be3b78d | 678 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 679 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 680 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 681 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 682 | |
MiniTLS | 0:35aa5be3b78d | 683 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 684 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 685 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 686 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 687 | |
MiniTLS | 0:35aa5be3b78d | 688 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 689 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 690 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 691 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 692 | |
MiniTLS | 0:35aa5be3b78d | 693 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 694 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 695 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 696 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 697 | |
MiniTLS | 0:35aa5be3b78d | 698 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 699 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 700 | SQRADDSC(a[0], a[8]); SQRADDAC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 701 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 702 | |
MiniTLS | 0:35aa5be3b78d | 703 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 704 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 705 | SQRADDSC(a[0], a[9]); SQRADDAC(a[1], a[8]); SQRADDAC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 706 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 707 | |
MiniTLS | 0:35aa5be3b78d | 708 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 709 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 710 | SQRADDSC(a[0], a[10]); SQRADDAC(a[1], a[9]); SQRADDAC(a[2], a[8]); SQRADDAC(a[3], a[7]); SQRADDAC(a[4], a[6]); SQRADDDB; SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 711 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 712 | |
MiniTLS | 0:35aa5be3b78d | 713 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 714 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 715 | SQRADDSC(a[1], a[10]); SQRADDAC(a[2], a[9]); SQRADDAC(a[3], a[8]); SQRADDAC(a[4], a[7]); SQRADDAC(a[5], a[6]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 716 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 717 | |
MiniTLS | 0:35aa5be3b78d | 718 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 719 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 720 | SQRADDSC(a[2], a[10]); SQRADDAC(a[3], a[9]); SQRADDAC(a[4], a[8]); SQRADDAC(a[5], a[7]); SQRADDDB; SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 721 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 722 | |
MiniTLS | 0:35aa5be3b78d | 723 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 724 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 725 | SQRADDSC(a[3], a[10]); SQRADDAC(a[4], a[9]); SQRADDAC(a[5], a[8]); SQRADDAC(a[6], a[7]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 726 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 727 | |
MiniTLS | 0:35aa5be3b78d | 728 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 729 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 730 | SQRADDSC(a[4], a[10]); SQRADDAC(a[5], a[9]); SQRADDAC(a[6], a[8]); SQRADDDB; SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 731 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 732 | |
MiniTLS | 0:35aa5be3b78d | 733 | /* output 15 */ |
MiniTLS | 0:35aa5be3b78d | 734 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 735 | SQRADDSC(a[5], a[10]); SQRADDAC(a[6], a[9]); SQRADDAC(a[7], a[8]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 736 | COMBA_STORE(b[15]); |
MiniTLS | 0:35aa5be3b78d | 737 | |
MiniTLS | 0:35aa5be3b78d | 738 | /* output 16 */ |
MiniTLS | 0:35aa5be3b78d | 739 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 740 | SQRADD2(a[6], a[10]); SQRADD2(a[7], a[9]); SQRADD(a[8], a[8]); |
MiniTLS | 0:35aa5be3b78d | 741 | COMBA_STORE(b[16]); |
MiniTLS | 0:35aa5be3b78d | 742 | |
MiniTLS | 0:35aa5be3b78d | 743 | /* output 17 */ |
MiniTLS | 0:35aa5be3b78d | 744 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 745 | SQRADD2(a[7], a[10]); SQRADD2(a[8], a[9]); |
MiniTLS | 0:35aa5be3b78d | 746 | COMBA_STORE(b[17]); |
MiniTLS | 0:35aa5be3b78d | 747 | |
MiniTLS | 0:35aa5be3b78d | 748 | /* output 18 */ |
MiniTLS | 0:35aa5be3b78d | 749 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 750 | SQRADD2(a[8], a[10]); SQRADD(a[9], a[9]); |
MiniTLS | 0:35aa5be3b78d | 751 | COMBA_STORE(b[18]); |
MiniTLS | 0:35aa5be3b78d | 752 | |
MiniTLS | 0:35aa5be3b78d | 753 | /* output 19 */ |
MiniTLS | 0:35aa5be3b78d | 754 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 755 | SQRADD2(a[9], a[10]); |
MiniTLS | 0:35aa5be3b78d | 756 | COMBA_STORE(b[19]); |
MiniTLS | 0:35aa5be3b78d | 757 | |
MiniTLS | 0:35aa5be3b78d | 758 | /* output 20 */ |
MiniTLS | 0:35aa5be3b78d | 759 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 760 | SQRADD(a[10], a[10]); |
MiniTLS | 0:35aa5be3b78d | 761 | COMBA_STORE(b[20]); |
MiniTLS | 0:35aa5be3b78d | 762 | COMBA_STORE2(b[21]); |
MiniTLS | 0:35aa5be3b78d | 763 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 764 | |
MiniTLS | 0:35aa5be3b78d | 765 | B->used = 22; |
MiniTLS | 0:35aa5be3b78d | 766 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 767 | memcpy(B->dp, b, 22 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 768 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 769 | break; |
MiniTLS | 0:35aa5be3b78d | 770 | |
MiniTLS | 0:35aa5be3b78d | 771 | case 12: |
MiniTLS | 0:35aa5be3b78d | 772 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 773 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 774 | |
MiniTLS | 0:35aa5be3b78d | 775 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 776 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 777 | |
MiniTLS | 0:35aa5be3b78d | 778 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 779 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 780 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 781 | |
MiniTLS | 0:35aa5be3b78d | 782 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 783 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 784 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 785 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 786 | |
MiniTLS | 0:35aa5be3b78d | 787 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 788 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 789 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 790 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 791 | |
MiniTLS | 0:35aa5be3b78d | 792 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 793 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 794 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 795 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 796 | |
MiniTLS | 0:35aa5be3b78d | 797 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 798 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 799 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 800 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 801 | |
MiniTLS | 0:35aa5be3b78d | 802 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 803 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 804 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 805 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 806 | |
MiniTLS | 0:35aa5be3b78d | 807 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 808 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 809 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 810 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 811 | |
MiniTLS | 0:35aa5be3b78d | 812 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 813 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 814 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 815 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 816 | |
MiniTLS | 0:35aa5be3b78d | 817 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 818 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 819 | SQRADDSC(a[0], a[8]); SQRADDAC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 820 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 821 | |
MiniTLS | 0:35aa5be3b78d | 822 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 823 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 824 | SQRADDSC(a[0], a[9]); SQRADDAC(a[1], a[8]); SQRADDAC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 825 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 826 | |
MiniTLS | 0:35aa5be3b78d | 827 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 828 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 829 | SQRADDSC(a[0], a[10]); SQRADDAC(a[1], a[9]); SQRADDAC(a[2], a[8]); SQRADDAC(a[3], a[7]); SQRADDAC(a[4], a[6]); SQRADDDB; SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 830 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 831 | |
MiniTLS | 0:35aa5be3b78d | 832 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 833 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 834 | SQRADDSC(a[0], a[11]); SQRADDAC(a[1], a[10]); SQRADDAC(a[2], a[9]); SQRADDAC(a[3], a[8]); SQRADDAC(a[4], a[7]); SQRADDAC(a[5], a[6]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 835 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 836 | |
MiniTLS | 0:35aa5be3b78d | 837 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 838 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 839 | SQRADDSC(a[1], a[11]); SQRADDAC(a[2], a[10]); SQRADDAC(a[3], a[9]); SQRADDAC(a[4], a[8]); SQRADDAC(a[5], a[7]); SQRADDDB; SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 840 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 841 | |
MiniTLS | 0:35aa5be3b78d | 842 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 843 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 844 | SQRADDSC(a[2], a[11]); SQRADDAC(a[3], a[10]); SQRADDAC(a[4], a[9]); SQRADDAC(a[5], a[8]); SQRADDAC(a[6], a[7]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 845 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 846 | |
MiniTLS | 0:35aa5be3b78d | 847 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 848 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 849 | SQRADDSC(a[3], a[11]); SQRADDAC(a[4], a[10]); SQRADDAC(a[5], a[9]); SQRADDAC(a[6], a[8]); SQRADDDB; SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 850 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 851 | |
MiniTLS | 0:35aa5be3b78d | 852 | /* output 15 */ |
MiniTLS | 0:35aa5be3b78d | 853 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 854 | SQRADDSC(a[4], a[11]); SQRADDAC(a[5], a[10]); SQRADDAC(a[6], a[9]); SQRADDAC(a[7], a[8]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 855 | COMBA_STORE(b[15]); |
MiniTLS | 0:35aa5be3b78d | 856 | |
MiniTLS | 0:35aa5be3b78d | 857 | /* output 16 */ |
MiniTLS | 0:35aa5be3b78d | 858 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 859 | SQRADDSC(a[5], a[11]); SQRADDAC(a[6], a[10]); SQRADDAC(a[7], a[9]); SQRADDDB; SQRADD(a[8], a[8]); |
MiniTLS | 0:35aa5be3b78d | 860 | COMBA_STORE(b[16]); |
MiniTLS | 0:35aa5be3b78d | 861 | |
MiniTLS | 0:35aa5be3b78d | 862 | /* output 17 */ |
MiniTLS | 0:35aa5be3b78d | 863 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 864 | SQRADDSC(a[6], a[11]); SQRADDAC(a[7], a[10]); SQRADDAC(a[8], a[9]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 865 | COMBA_STORE(b[17]); |
MiniTLS | 0:35aa5be3b78d | 866 | |
MiniTLS | 0:35aa5be3b78d | 867 | /* output 18 */ |
MiniTLS | 0:35aa5be3b78d | 868 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 869 | SQRADD2(a[7], a[11]); SQRADD2(a[8], a[10]); SQRADD(a[9], a[9]); |
MiniTLS | 0:35aa5be3b78d | 870 | COMBA_STORE(b[18]); |
MiniTLS | 0:35aa5be3b78d | 871 | |
MiniTLS | 0:35aa5be3b78d | 872 | /* output 19 */ |
MiniTLS | 0:35aa5be3b78d | 873 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 874 | SQRADD2(a[8], a[11]); SQRADD2(a[9], a[10]); |
MiniTLS | 0:35aa5be3b78d | 875 | COMBA_STORE(b[19]); |
MiniTLS | 0:35aa5be3b78d | 876 | |
MiniTLS | 0:35aa5be3b78d | 877 | /* output 20 */ |
MiniTLS | 0:35aa5be3b78d | 878 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 879 | SQRADD2(a[9], a[11]); SQRADD(a[10], a[10]); |
MiniTLS | 0:35aa5be3b78d | 880 | COMBA_STORE(b[20]); |
MiniTLS | 0:35aa5be3b78d | 881 | |
MiniTLS | 0:35aa5be3b78d | 882 | /* output 21 */ |
MiniTLS | 0:35aa5be3b78d | 883 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 884 | SQRADD2(a[10], a[11]); |
MiniTLS | 0:35aa5be3b78d | 885 | COMBA_STORE(b[21]); |
MiniTLS | 0:35aa5be3b78d | 886 | |
MiniTLS | 0:35aa5be3b78d | 887 | /* output 22 */ |
MiniTLS | 0:35aa5be3b78d | 888 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 889 | SQRADD(a[11], a[11]); |
MiniTLS | 0:35aa5be3b78d | 890 | COMBA_STORE(b[22]); |
MiniTLS | 0:35aa5be3b78d | 891 | COMBA_STORE2(b[23]); |
MiniTLS | 0:35aa5be3b78d | 892 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 893 | |
MiniTLS | 0:35aa5be3b78d | 894 | B->used = 24; |
MiniTLS | 0:35aa5be3b78d | 895 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 896 | memcpy(B->dp, b, 24 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 897 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 898 | break; |
MiniTLS | 0:35aa5be3b78d | 899 | |
MiniTLS | 0:35aa5be3b78d | 900 | case 13: |
MiniTLS | 0:35aa5be3b78d | 901 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 902 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 903 | |
MiniTLS | 0:35aa5be3b78d | 904 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 905 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 906 | |
MiniTLS | 0:35aa5be3b78d | 907 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 908 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 909 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 910 | |
MiniTLS | 0:35aa5be3b78d | 911 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 912 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 913 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 914 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 915 | |
MiniTLS | 0:35aa5be3b78d | 916 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 917 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 918 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 919 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 920 | |
MiniTLS | 0:35aa5be3b78d | 921 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 922 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 923 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 924 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 925 | |
MiniTLS | 0:35aa5be3b78d | 926 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 927 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 928 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 929 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 930 | |
MiniTLS | 0:35aa5be3b78d | 931 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 932 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 933 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 934 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 935 | |
MiniTLS | 0:35aa5be3b78d | 936 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 937 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 938 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 939 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 940 | |
MiniTLS | 0:35aa5be3b78d | 941 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 942 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 943 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 944 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 945 | |
MiniTLS | 0:35aa5be3b78d | 946 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 947 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 948 | SQRADDSC(a[0], a[8]); SQRADDAC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 949 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 950 | |
MiniTLS | 0:35aa5be3b78d | 951 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 952 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 953 | SQRADDSC(a[0], a[9]); SQRADDAC(a[1], a[8]); SQRADDAC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 954 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 955 | |
MiniTLS | 0:35aa5be3b78d | 956 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 957 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 958 | SQRADDSC(a[0], a[10]); SQRADDAC(a[1], a[9]); SQRADDAC(a[2], a[8]); SQRADDAC(a[3], a[7]); SQRADDAC(a[4], a[6]); SQRADDDB; SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 959 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 960 | |
MiniTLS | 0:35aa5be3b78d | 961 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 962 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 963 | SQRADDSC(a[0], a[11]); SQRADDAC(a[1], a[10]); SQRADDAC(a[2], a[9]); SQRADDAC(a[3], a[8]); SQRADDAC(a[4], a[7]); SQRADDAC(a[5], a[6]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 964 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 965 | |
MiniTLS | 0:35aa5be3b78d | 966 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 967 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 968 | SQRADDSC(a[0], a[12]); SQRADDAC(a[1], a[11]); SQRADDAC(a[2], a[10]); SQRADDAC(a[3], a[9]); SQRADDAC(a[4], a[8]); SQRADDAC(a[5], a[7]); SQRADDDB; SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 969 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 970 | |
MiniTLS | 0:35aa5be3b78d | 971 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 972 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 973 | SQRADDSC(a[1], a[12]); SQRADDAC(a[2], a[11]); SQRADDAC(a[3], a[10]); SQRADDAC(a[4], a[9]); SQRADDAC(a[5], a[8]); SQRADDAC(a[6], a[7]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 974 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 975 | |
MiniTLS | 0:35aa5be3b78d | 976 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 977 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 978 | SQRADDSC(a[2], a[12]); SQRADDAC(a[3], a[11]); SQRADDAC(a[4], a[10]); SQRADDAC(a[5], a[9]); SQRADDAC(a[6], a[8]); SQRADDDB; SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 979 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 980 | |
MiniTLS | 0:35aa5be3b78d | 981 | /* output 15 */ |
MiniTLS | 0:35aa5be3b78d | 982 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 983 | SQRADDSC(a[3], a[12]); SQRADDAC(a[4], a[11]); SQRADDAC(a[5], a[10]); SQRADDAC(a[6], a[9]); SQRADDAC(a[7], a[8]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 984 | COMBA_STORE(b[15]); |
MiniTLS | 0:35aa5be3b78d | 985 | |
MiniTLS | 0:35aa5be3b78d | 986 | /* output 16 */ |
MiniTLS | 0:35aa5be3b78d | 987 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 988 | SQRADDSC(a[4], a[12]); SQRADDAC(a[5], a[11]); SQRADDAC(a[6], a[10]); SQRADDAC(a[7], a[9]); SQRADDDB; SQRADD(a[8], a[8]); |
MiniTLS | 0:35aa5be3b78d | 989 | COMBA_STORE(b[16]); |
MiniTLS | 0:35aa5be3b78d | 990 | |
MiniTLS | 0:35aa5be3b78d | 991 | /* output 17 */ |
MiniTLS | 0:35aa5be3b78d | 992 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 993 | SQRADDSC(a[5], a[12]); SQRADDAC(a[6], a[11]); SQRADDAC(a[7], a[10]); SQRADDAC(a[8], a[9]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 994 | COMBA_STORE(b[17]); |
MiniTLS | 0:35aa5be3b78d | 995 | |
MiniTLS | 0:35aa5be3b78d | 996 | /* output 18 */ |
MiniTLS | 0:35aa5be3b78d | 997 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 998 | SQRADDSC(a[6], a[12]); SQRADDAC(a[7], a[11]); SQRADDAC(a[8], a[10]); SQRADDDB; SQRADD(a[9], a[9]); |
MiniTLS | 0:35aa5be3b78d | 999 | COMBA_STORE(b[18]); |
MiniTLS | 0:35aa5be3b78d | 1000 | |
MiniTLS | 0:35aa5be3b78d | 1001 | /* output 19 */ |
MiniTLS | 0:35aa5be3b78d | 1002 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1003 | SQRADDSC(a[7], a[12]); SQRADDAC(a[8], a[11]); SQRADDAC(a[9], a[10]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1004 | COMBA_STORE(b[19]); |
MiniTLS | 0:35aa5be3b78d | 1005 | |
MiniTLS | 0:35aa5be3b78d | 1006 | /* output 20 */ |
MiniTLS | 0:35aa5be3b78d | 1007 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1008 | SQRADD2(a[8], a[12]); SQRADD2(a[9], a[11]); SQRADD(a[10], a[10]); |
MiniTLS | 0:35aa5be3b78d | 1009 | COMBA_STORE(b[20]); |
MiniTLS | 0:35aa5be3b78d | 1010 | |
MiniTLS | 0:35aa5be3b78d | 1011 | /* output 21 */ |
MiniTLS | 0:35aa5be3b78d | 1012 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1013 | SQRADD2(a[9], a[12]); SQRADD2(a[10], a[11]); |
MiniTLS | 0:35aa5be3b78d | 1014 | COMBA_STORE(b[21]); |
MiniTLS | 0:35aa5be3b78d | 1015 | |
MiniTLS | 0:35aa5be3b78d | 1016 | /* output 22 */ |
MiniTLS | 0:35aa5be3b78d | 1017 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1018 | SQRADD2(a[10], a[12]); SQRADD(a[11], a[11]); |
MiniTLS | 0:35aa5be3b78d | 1019 | COMBA_STORE(b[22]); |
MiniTLS | 0:35aa5be3b78d | 1020 | |
MiniTLS | 0:35aa5be3b78d | 1021 | /* output 23 */ |
MiniTLS | 0:35aa5be3b78d | 1022 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1023 | SQRADD2(a[11], a[12]); |
MiniTLS | 0:35aa5be3b78d | 1024 | COMBA_STORE(b[23]); |
MiniTLS | 0:35aa5be3b78d | 1025 | |
MiniTLS | 0:35aa5be3b78d | 1026 | /* output 24 */ |
MiniTLS | 0:35aa5be3b78d | 1027 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1028 | SQRADD(a[12], a[12]); |
MiniTLS | 0:35aa5be3b78d | 1029 | COMBA_STORE(b[24]); |
MiniTLS | 0:35aa5be3b78d | 1030 | COMBA_STORE2(b[25]); |
MiniTLS | 0:35aa5be3b78d | 1031 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 1032 | |
MiniTLS | 0:35aa5be3b78d | 1033 | B->used = 26; |
MiniTLS | 0:35aa5be3b78d | 1034 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 1035 | memcpy(B->dp, b, 26 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 1036 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 1037 | break; |
MiniTLS | 0:35aa5be3b78d | 1038 | |
MiniTLS | 0:35aa5be3b78d | 1039 | case 14: |
MiniTLS | 0:35aa5be3b78d | 1040 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 1041 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 1042 | |
MiniTLS | 0:35aa5be3b78d | 1043 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 1044 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 1045 | |
MiniTLS | 0:35aa5be3b78d | 1046 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 1047 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 1048 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 1049 | |
MiniTLS | 0:35aa5be3b78d | 1050 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 1051 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1052 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 1053 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 1054 | |
MiniTLS | 0:35aa5be3b78d | 1055 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 1056 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1057 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 1058 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 1059 | |
MiniTLS | 0:35aa5be3b78d | 1060 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 1061 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1062 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 1063 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 1064 | |
MiniTLS | 0:35aa5be3b78d | 1065 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 1066 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1067 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 1068 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 1069 | |
MiniTLS | 0:35aa5be3b78d | 1070 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 1071 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1072 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1073 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 1074 | |
MiniTLS | 0:35aa5be3b78d | 1075 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 1076 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1077 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 1078 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 1079 | |
MiniTLS | 0:35aa5be3b78d | 1080 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 1081 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1082 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1083 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 1084 | |
MiniTLS | 0:35aa5be3b78d | 1085 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 1086 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1087 | SQRADDSC(a[0], a[8]); SQRADDAC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 1088 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 1089 | |
MiniTLS | 0:35aa5be3b78d | 1090 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 1091 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1092 | SQRADDSC(a[0], a[9]); SQRADDAC(a[1], a[8]); SQRADDAC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1093 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 1094 | |
MiniTLS | 0:35aa5be3b78d | 1095 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 1096 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1097 | SQRADDSC(a[0], a[10]); SQRADDAC(a[1], a[9]); SQRADDAC(a[2], a[8]); SQRADDAC(a[3], a[7]); SQRADDAC(a[4], a[6]); SQRADDDB; SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 1098 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 1099 | |
MiniTLS | 0:35aa5be3b78d | 1100 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 1101 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1102 | SQRADDSC(a[0], a[11]); SQRADDAC(a[1], a[10]); SQRADDAC(a[2], a[9]); SQRADDAC(a[3], a[8]); SQRADDAC(a[4], a[7]); SQRADDAC(a[5], a[6]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1103 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 1104 | |
MiniTLS | 0:35aa5be3b78d | 1105 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 1106 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1107 | SQRADDSC(a[0], a[12]); SQRADDAC(a[1], a[11]); SQRADDAC(a[2], a[10]); SQRADDAC(a[3], a[9]); SQRADDAC(a[4], a[8]); SQRADDAC(a[5], a[7]); SQRADDDB; SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 1108 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 1109 | |
MiniTLS | 0:35aa5be3b78d | 1110 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 1111 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1112 | SQRADDSC(a[0], a[13]); SQRADDAC(a[1], a[12]); SQRADDAC(a[2], a[11]); SQRADDAC(a[3], a[10]); SQRADDAC(a[4], a[9]); SQRADDAC(a[5], a[8]); SQRADDAC(a[6], a[7]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1113 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 1114 | |
MiniTLS | 0:35aa5be3b78d | 1115 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 1116 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1117 | SQRADDSC(a[1], a[13]); SQRADDAC(a[2], a[12]); SQRADDAC(a[3], a[11]); SQRADDAC(a[4], a[10]); SQRADDAC(a[5], a[9]); SQRADDAC(a[6], a[8]); SQRADDDB; SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 1118 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 1119 | |
MiniTLS | 0:35aa5be3b78d | 1120 | /* output 15 */ |
MiniTLS | 0:35aa5be3b78d | 1121 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1122 | SQRADDSC(a[2], a[13]); SQRADDAC(a[3], a[12]); SQRADDAC(a[4], a[11]); SQRADDAC(a[5], a[10]); SQRADDAC(a[6], a[9]); SQRADDAC(a[7], a[8]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1123 | COMBA_STORE(b[15]); |
MiniTLS | 0:35aa5be3b78d | 1124 | |
MiniTLS | 0:35aa5be3b78d | 1125 | /* output 16 */ |
MiniTLS | 0:35aa5be3b78d | 1126 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1127 | SQRADDSC(a[3], a[13]); SQRADDAC(a[4], a[12]); SQRADDAC(a[5], a[11]); SQRADDAC(a[6], a[10]); SQRADDAC(a[7], a[9]); SQRADDDB; SQRADD(a[8], a[8]); |
MiniTLS | 0:35aa5be3b78d | 1128 | COMBA_STORE(b[16]); |
MiniTLS | 0:35aa5be3b78d | 1129 | |
MiniTLS | 0:35aa5be3b78d | 1130 | /* output 17 */ |
MiniTLS | 0:35aa5be3b78d | 1131 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1132 | SQRADDSC(a[4], a[13]); SQRADDAC(a[5], a[12]); SQRADDAC(a[6], a[11]); SQRADDAC(a[7], a[10]); SQRADDAC(a[8], a[9]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1133 | COMBA_STORE(b[17]); |
MiniTLS | 0:35aa5be3b78d | 1134 | |
MiniTLS | 0:35aa5be3b78d | 1135 | /* output 18 */ |
MiniTLS | 0:35aa5be3b78d | 1136 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1137 | SQRADDSC(a[5], a[13]); SQRADDAC(a[6], a[12]); SQRADDAC(a[7], a[11]); SQRADDAC(a[8], a[10]); SQRADDDB; SQRADD(a[9], a[9]); |
MiniTLS | 0:35aa5be3b78d | 1138 | COMBA_STORE(b[18]); |
MiniTLS | 0:35aa5be3b78d | 1139 | |
MiniTLS | 0:35aa5be3b78d | 1140 | /* output 19 */ |
MiniTLS | 0:35aa5be3b78d | 1141 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1142 | SQRADDSC(a[6], a[13]); SQRADDAC(a[7], a[12]); SQRADDAC(a[8], a[11]); SQRADDAC(a[9], a[10]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1143 | COMBA_STORE(b[19]); |
MiniTLS | 0:35aa5be3b78d | 1144 | |
MiniTLS | 0:35aa5be3b78d | 1145 | /* output 20 */ |
MiniTLS | 0:35aa5be3b78d | 1146 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1147 | SQRADDSC(a[7], a[13]); SQRADDAC(a[8], a[12]); SQRADDAC(a[9], a[11]); SQRADDDB; SQRADD(a[10], a[10]); |
MiniTLS | 0:35aa5be3b78d | 1148 | COMBA_STORE(b[20]); |
MiniTLS | 0:35aa5be3b78d | 1149 | |
MiniTLS | 0:35aa5be3b78d | 1150 | /* output 21 */ |
MiniTLS | 0:35aa5be3b78d | 1151 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1152 | SQRADDSC(a[8], a[13]); SQRADDAC(a[9], a[12]); SQRADDAC(a[10], a[11]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1153 | COMBA_STORE(b[21]); |
MiniTLS | 0:35aa5be3b78d | 1154 | |
MiniTLS | 0:35aa5be3b78d | 1155 | /* output 22 */ |
MiniTLS | 0:35aa5be3b78d | 1156 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1157 | SQRADD2(a[9], a[13]); SQRADD2(a[10], a[12]); SQRADD(a[11], a[11]); |
MiniTLS | 0:35aa5be3b78d | 1158 | COMBA_STORE(b[22]); |
MiniTLS | 0:35aa5be3b78d | 1159 | |
MiniTLS | 0:35aa5be3b78d | 1160 | /* output 23 */ |
MiniTLS | 0:35aa5be3b78d | 1161 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1162 | SQRADD2(a[10], a[13]); SQRADD2(a[11], a[12]); |
MiniTLS | 0:35aa5be3b78d | 1163 | COMBA_STORE(b[23]); |
MiniTLS | 0:35aa5be3b78d | 1164 | |
MiniTLS | 0:35aa5be3b78d | 1165 | /* output 24 */ |
MiniTLS | 0:35aa5be3b78d | 1166 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1167 | SQRADD2(a[11], a[13]); SQRADD(a[12], a[12]); |
MiniTLS | 0:35aa5be3b78d | 1168 | COMBA_STORE(b[24]); |
MiniTLS | 0:35aa5be3b78d | 1169 | |
MiniTLS | 0:35aa5be3b78d | 1170 | /* output 25 */ |
MiniTLS | 0:35aa5be3b78d | 1171 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1172 | SQRADD2(a[12], a[13]); |
MiniTLS | 0:35aa5be3b78d | 1173 | COMBA_STORE(b[25]); |
MiniTLS | 0:35aa5be3b78d | 1174 | |
MiniTLS | 0:35aa5be3b78d | 1175 | /* output 26 */ |
MiniTLS | 0:35aa5be3b78d | 1176 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1177 | SQRADD(a[13], a[13]); |
MiniTLS | 0:35aa5be3b78d | 1178 | COMBA_STORE(b[26]); |
MiniTLS | 0:35aa5be3b78d | 1179 | COMBA_STORE2(b[27]); |
MiniTLS | 0:35aa5be3b78d | 1180 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 1181 | |
MiniTLS | 0:35aa5be3b78d | 1182 | B->used = 28; |
MiniTLS | 0:35aa5be3b78d | 1183 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 1184 | memcpy(B->dp, b, 28 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 1185 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 1186 | break; |
MiniTLS | 0:35aa5be3b78d | 1187 | |
MiniTLS | 0:35aa5be3b78d | 1188 | case 15: |
MiniTLS | 0:35aa5be3b78d | 1189 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 1190 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 1191 | |
MiniTLS | 0:35aa5be3b78d | 1192 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 1193 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 1194 | |
MiniTLS | 0:35aa5be3b78d | 1195 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 1196 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 1197 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 1198 | |
MiniTLS | 0:35aa5be3b78d | 1199 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 1200 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1201 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 1202 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 1203 | |
MiniTLS | 0:35aa5be3b78d | 1204 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 1205 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1206 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 1207 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 1208 | |
MiniTLS | 0:35aa5be3b78d | 1209 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 1210 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1211 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 1212 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 1213 | |
MiniTLS | 0:35aa5be3b78d | 1214 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 1215 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1216 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 1217 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 1218 | |
MiniTLS | 0:35aa5be3b78d | 1219 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 1220 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1221 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1222 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 1223 | |
MiniTLS | 0:35aa5be3b78d | 1224 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 1225 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1226 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 1227 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 1228 | |
MiniTLS | 0:35aa5be3b78d | 1229 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 1230 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1231 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1232 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 1233 | |
MiniTLS | 0:35aa5be3b78d | 1234 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 1235 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1236 | SQRADDSC(a[0], a[8]); SQRADDAC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 1237 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 1238 | |
MiniTLS | 0:35aa5be3b78d | 1239 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 1240 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1241 | SQRADDSC(a[0], a[9]); SQRADDAC(a[1], a[8]); SQRADDAC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1242 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 1243 | |
MiniTLS | 0:35aa5be3b78d | 1244 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 1245 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1246 | SQRADDSC(a[0], a[10]); SQRADDAC(a[1], a[9]); SQRADDAC(a[2], a[8]); SQRADDAC(a[3], a[7]); SQRADDAC(a[4], a[6]); SQRADDDB; SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 1247 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 1248 | |
MiniTLS | 0:35aa5be3b78d | 1249 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 1250 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1251 | SQRADDSC(a[0], a[11]); SQRADDAC(a[1], a[10]); SQRADDAC(a[2], a[9]); SQRADDAC(a[3], a[8]); SQRADDAC(a[4], a[7]); SQRADDAC(a[5], a[6]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1252 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 1253 | |
MiniTLS | 0:35aa5be3b78d | 1254 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 1255 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1256 | SQRADDSC(a[0], a[12]); SQRADDAC(a[1], a[11]); SQRADDAC(a[2], a[10]); SQRADDAC(a[3], a[9]); SQRADDAC(a[4], a[8]); SQRADDAC(a[5], a[7]); SQRADDDB; SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 1257 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 1258 | |
MiniTLS | 0:35aa5be3b78d | 1259 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 1260 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1261 | SQRADDSC(a[0], a[13]); SQRADDAC(a[1], a[12]); SQRADDAC(a[2], a[11]); SQRADDAC(a[3], a[10]); SQRADDAC(a[4], a[9]); SQRADDAC(a[5], a[8]); SQRADDAC(a[6], a[7]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1262 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 1263 | |
MiniTLS | 0:35aa5be3b78d | 1264 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 1265 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1266 | SQRADDSC(a[0], a[14]); SQRADDAC(a[1], a[13]); SQRADDAC(a[2], a[12]); SQRADDAC(a[3], a[11]); SQRADDAC(a[4], a[10]); SQRADDAC(a[5], a[9]); SQRADDAC(a[6], a[8]); SQRADDDB; SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 1267 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 1268 | |
MiniTLS | 0:35aa5be3b78d | 1269 | /* output 15 */ |
MiniTLS | 0:35aa5be3b78d | 1270 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1271 | SQRADDSC(a[1], a[14]); SQRADDAC(a[2], a[13]); SQRADDAC(a[3], a[12]); SQRADDAC(a[4], a[11]); SQRADDAC(a[5], a[10]); SQRADDAC(a[6], a[9]); SQRADDAC(a[7], a[8]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1272 | COMBA_STORE(b[15]); |
MiniTLS | 0:35aa5be3b78d | 1273 | |
MiniTLS | 0:35aa5be3b78d | 1274 | /* output 16 */ |
MiniTLS | 0:35aa5be3b78d | 1275 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1276 | SQRADDSC(a[2], a[14]); SQRADDAC(a[3], a[13]); SQRADDAC(a[4], a[12]); SQRADDAC(a[5], a[11]); SQRADDAC(a[6], a[10]); SQRADDAC(a[7], a[9]); SQRADDDB; SQRADD(a[8], a[8]); |
MiniTLS | 0:35aa5be3b78d | 1277 | COMBA_STORE(b[16]); |
MiniTLS | 0:35aa5be3b78d | 1278 | |
MiniTLS | 0:35aa5be3b78d | 1279 | /* output 17 */ |
MiniTLS | 0:35aa5be3b78d | 1280 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1281 | SQRADDSC(a[3], a[14]); SQRADDAC(a[4], a[13]); SQRADDAC(a[5], a[12]); SQRADDAC(a[6], a[11]); SQRADDAC(a[7], a[10]); SQRADDAC(a[8], a[9]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1282 | COMBA_STORE(b[17]); |
MiniTLS | 0:35aa5be3b78d | 1283 | |
MiniTLS | 0:35aa5be3b78d | 1284 | /* output 18 */ |
MiniTLS | 0:35aa5be3b78d | 1285 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1286 | SQRADDSC(a[4], a[14]); SQRADDAC(a[5], a[13]); SQRADDAC(a[6], a[12]); SQRADDAC(a[7], a[11]); SQRADDAC(a[8], a[10]); SQRADDDB; SQRADD(a[9], a[9]); |
MiniTLS | 0:35aa5be3b78d | 1287 | COMBA_STORE(b[18]); |
MiniTLS | 0:35aa5be3b78d | 1288 | |
MiniTLS | 0:35aa5be3b78d | 1289 | /* output 19 */ |
MiniTLS | 0:35aa5be3b78d | 1290 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1291 | SQRADDSC(a[5], a[14]); SQRADDAC(a[6], a[13]); SQRADDAC(a[7], a[12]); SQRADDAC(a[8], a[11]); SQRADDAC(a[9], a[10]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1292 | COMBA_STORE(b[19]); |
MiniTLS | 0:35aa5be3b78d | 1293 | |
MiniTLS | 0:35aa5be3b78d | 1294 | /* output 20 */ |
MiniTLS | 0:35aa5be3b78d | 1295 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1296 | SQRADDSC(a[6], a[14]); SQRADDAC(a[7], a[13]); SQRADDAC(a[8], a[12]); SQRADDAC(a[9], a[11]); SQRADDDB; SQRADD(a[10], a[10]); |
MiniTLS | 0:35aa5be3b78d | 1297 | COMBA_STORE(b[20]); |
MiniTLS | 0:35aa5be3b78d | 1298 | |
MiniTLS | 0:35aa5be3b78d | 1299 | /* output 21 */ |
MiniTLS | 0:35aa5be3b78d | 1300 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1301 | SQRADDSC(a[7], a[14]); SQRADDAC(a[8], a[13]); SQRADDAC(a[9], a[12]); SQRADDAC(a[10], a[11]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1302 | COMBA_STORE(b[21]); |
MiniTLS | 0:35aa5be3b78d | 1303 | |
MiniTLS | 0:35aa5be3b78d | 1304 | /* output 22 */ |
MiniTLS | 0:35aa5be3b78d | 1305 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1306 | SQRADDSC(a[8], a[14]); SQRADDAC(a[9], a[13]); SQRADDAC(a[10], a[12]); SQRADDDB; SQRADD(a[11], a[11]); |
MiniTLS | 0:35aa5be3b78d | 1307 | COMBA_STORE(b[22]); |
MiniTLS | 0:35aa5be3b78d | 1308 | |
MiniTLS | 0:35aa5be3b78d | 1309 | /* output 23 */ |
MiniTLS | 0:35aa5be3b78d | 1310 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1311 | SQRADDSC(a[9], a[14]); SQRADDAC(a[10], a[13]); SQRADDAC(a[11], a[12]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1312 | COMBA_STORE(b[23]); |
MiniTLS | 0:35aa5be3b78d | 1313 | |
MiniTLS | 0:35aa5be3b78d | 1314 | /* output 24 */ |
MiniTLS | 0:35aa5be3b78d | 1315 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1316 | SQRADD2(a[10], a[14]); SQRADD2(a[11], a[13]); SQRADD(a[12], a[12]); |
MiniTLS | 0:35aa5be3b78d | 1317 | COMBA_STORE(b[24]); |
MiniTLS | 0:35aa5be3b78d | 1318 | |
MiniTLS | 0:35aa5be3b78d | 1319 | /* output 25 */ |
MiniTLS | 0:35aa5be3b78d | 1320 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1321 | SQRADD2(a[11], a[14]); SQRADD2(a[12], a[13]); |
MiniTLS | 0:35aa5be3b78d | 1322 | COMBA_STORE(b[25]); |
MiniTLS | 0:35aa5be3b78d | 1323 | |
MiniTLS | 0:35aa5be3b78d | 1324 | /* output 26 */ |
MiniTLS | 0:35aa5be3b78d | 1325 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1326 | SQRADD2(a[12], a[14]); SQRADD(a[13], a[13]); |
MiniTLS | 0:35aa5be3b78d | 1327 | COMBA_STORE(b[26]); |
MiniTLS | 0:35aa5be3b78d | 1328 | |
MiniTLS | 0:35aa5be3b78d | 1329 | /* output 27 */ |
MiniTLS | 0:35aa5be3b78d | 1330 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1331 | SQRADD2(a[13], a[14]); |
MiniTLS | 0:35aa5be3b78d | 1332 | COMBA_STORE(b[27]); |
MiniTLS | 0:35aa5be3b78d | 1333 | |
MiniTLS | 0:35aa5be3b78d | 1334 | /* output 28 */ |
MiniTLS | 0:35aa5be3b78d | 1335 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1336 | SQRADD(a[14], a[14]); |
MiniTLS | 0:35aa5be3b78d | 1337 | COMBA_STORE(b[28]); |
MiniTLS | 0:35aa5be3b78d | 1338 | COMBA_STORE2(b[29]); |
MiniTLS | 0:35aa5be3b78d | 1339 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 1340 | |
MiniTLS | 0:35aa5be3b78d | 1341 | B->used = 30; |
MiniTLS | 0:35aa5be3b78d | 1342 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 1343 | memcpy(B->dp, b, 30 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 1344 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 1345 | break; |
MiniTLS | 0:35aa5be3b78d | 1346 | |
MiniTLS | 0:35aa5be3b78d | 1347 | case 16: |
MiniTLS | 0:35aa5be3b78d | 1348 | a = A->dp; |
MiniTLS | 0:35aa5be3b78d | 1349 | COMBA_START; |
MiniTLS | 0:35aa5be3b78d | 1350 | |
MiniTLS | 0:35aa5be3b78d | 1351 | /* clear carries */ |
MiniTLS | 0:35aa5be3b78d | 1352 | CLEAR_CARRY; |
MiniTLS | 0:35aa5be3b78d | 1353 | |
MiniTLS | 0:35aa5be3b78d | 1354 | /* output 0 */ |
MiniTLS | 0:35aa5be3b78d | 1355 | SQRADD(a[0],a[0]); |
MiniTLS | 0:35aa5be3b78d | 1356 | COMBA_STORE(b[0]); |
MiniTLS | 0:35aa5be3b78d | 1357 | |
MiniTLS | 0:35aa5be3b78d | 1358 | /* output 1 */ |
MiniTLS | 0:35aa5be3b78d | 1359 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1360 | SQRADD2(a[0], a[1]); |
MiniTLS | 0:35aa5be3b78d | 1361 | COMBA_STORE(b[1]); |
MiniTLS | 0:35aa5be3b78d | 1362 | |
MiniTLS | 0:35aa5be3b78d | 1363 | /* output 2 */ |
MiniTLS | 0:35aa5be3b78d | 1364 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1365 | SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); |
MiniTLS | 0:35aa5be3b78d | 1366 | COMBA_STORE(b[2]); |
MiniTLS | 0:35aa5be3b78d | 1367 | |
MiniTLS | 0:35aa5be3b78d | 1368 | /* output 3 */ |
MiniTLS | 0:35aa5be3b78d | 1369 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1370 | SQRADD2(a[0], a[3]); SQRADD2(a[1], a[2]); |
MiniTLS | 0:35aa5be3b78d | 1371 | COMBA_STORE(b[3]); |
MiniTLS | 0:35aa5be3b78d | 1372 | |
MiniTLS | 0:35aa5be3b78d | 1373 | /* output 4 */ |
MiniTLS | 0:35aa5be3b78d | 1374 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1375 | SQRADD2(a[0], a[4]); SQRADD2(a[1], a[3]); SQRADD(a[2], a[2]); |
MiniTLS | 0:35aa5be3b78d | 1376 | COMBA_STORE(b[4]); |
MiniTLS | 0:35aa5be3b78d | 1377 | |
MiniTLS | 0:35aa5be3b78d | 1378 | /* output 5 */ |
MiniTLS | 0:35aa5be3b78d | 1379 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1380 | SQRADDSC(a[0], a[5]); SQRADDAC(a[1], a[4]); SQRADDAC(a[2], a[3]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1381 | COMBA_STORE(b[5]); |
MiniTLS | 0:35aa5be3b78d | 1382 | |
MiniTLS | 0:35aa5be3b78d | 1383 | /* output 6 */ |
MiniTLS | 0:35aa5be3b78d | 1384 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1385 | SQRADDSC(a[0], a[6]); SQRADDAC(a[1], a[5]); SQRADDAC(a[2], a[4]); SQRADDDB; SQRADD(a[3], a[3]); |
MiniTLS | 0:35aa5be3b78d | 1386 | COMBA_STORE(b[6]); |
MiniTLS | 0:35aa5be3b78d | 1387 | |
MiniTLS | 0:35aa5be3b78d | 1388 | /* output 7 */ |
MiniTLS | 0:35aa5be3b78d | 1389 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1390 | SQRADDSC(a[0], a[7]); SQRADDAC(a[1], a[6]); SQRADDAC(a[2], a[5]); SQRADDAC(a[3], a[4]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1391 | COMBA_STORE(b[7]); |
MiniTLS | 0:35aa5be3b78d | 1392 | |
MiniTLS | 0:35aa5be3b78d | 1393 | /* output 8 */ |
MiniTLS | 0:35aa5be3b78d | 1394 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1395 | SQRADDSC(a[0], a[8]); SQRADDAC(a[1], a[7]); SQRADDAC(a[2], a[6]); SQRADDAC(a[3], a[5]); SQRADDDB; SQRADD(a[4], a[4]); |
MiniTLS | 0:35aa5be3b78d | 1396 | COMBA_STORE(b[8]); |
MiniTLS | 0:35aa5be3b78d | 1397 | |
MiniTLS | 0:35aa5be3b78d | 1398 | /* output 9 */ |
MiniTLS | 0:35aa5be3b78d | 1399 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1400 | SQRADDSC(a[0], a[9]); SQRADDAC(a[1], a[8]); SQRADDAC(a[2], a[7]); SQRADDAC(a[3], a[6]); SQRADDAC(a[4], a[5]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1401 | COMBA_STORE(b[9]); |
MiniTLS | 0:35aa5be3b78d | 1402 | |
MiniTLS | 0:35aa5be3b78d | 1403 | /* output 10 */ |
MiniTLS | 0:35aa5be3b78d | 1404 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1405 | SQRADDSC(a[0], a[10]); SQRADDAC(a[1], a[9]); SQRADDAC(a[2], a[8]); SQRADDAC(a[3], a[7]); SQRADDAC(a[4], a[6]); SQRADDDB; SQRADD(a[5], a[5]); |
MiniTLS | 0:35aa5be3b78d | 1406 | COMBA_STORE(b[10]); |
MiniTLS | 0:35aa5be3b78d | 1407 | |
MiniTLS | 0:35aa5be3b78d | 1408 | /* output 11 */ |
MiniTLS | 0:35aa5be3b78d | 1409 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1410 | SQRADDSC(a[0], a[11]); SQRADDAC(a[1], a[10]); SQRADDAC(a[2], a[9]); SQRADDAC(a[3], a[8]); SQRADDAC(a[4], a[7]); SQRADDAC(a[5], a[6]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1411 | COMBA_STORE(b[11]); |
MiniTLS | 0:35aa5be3b78d | 1412 | |
MiniTLS | 0:35aa5be3b78d | 1413 | /* output 12 */ |
MiniTLS | 0:35aa5be3b78d | 1414 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1415 | SQRADDSC(a[0], a[12]); SQRADDAC(a[1], a[11]); SQRADDAC(a[2], a[10]); SQRADDAC(a[3], a[9]); SQRADDAC(a[4], a[8]); SQRADDAC(a[5], a[7]); SQRADDDB; SQRADD(a[6], a[6]); |
MiniTLS | 0:35aa5be3b78d | 1416 | COMBA_STORE(b[12]); |
MiniTLS | 0:35aa5be3b78d | 1417 | |
MiniTLS | 0:35aa5be3b78d | 1418 | /* output 13 */ |
MiniTLS | 0:35aa5be3b78d | 1419 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1420 | SQRADDSC(a[0], a[13]); SQRADDAC(a[1], a[12]); SQRADDAC(a[2], a[11]); SQRADDAC(a[3], a[10]); SQRADDAC(a[4], a[9]); SQRADDAC(a[5], a[8]); SQRADDAC(a[6], a[7]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1421 | COMBA_STORE(b[13]); |
MiniTLS | 0:35aa5be3b78d | 1422 | |
MiniTLS | 0:35aa5be3b78d | 1423 | /* output 14 */ |
MiniTLS | 0:35aa5be3b78d | 1424 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1425 | SQRADDSC(a[0], a[14]); SQRADDAC(a[1], a[13]); SQRADDAC(a[2], a[12]); SQRADDAC(a[3], a[11]); SQRADDAC(a[4], a[10]); SQRADDAC(a[5], a[9]); SQRADDAC(a[6], a[8]); SQRADDDB; SQRADD(a[7], a[7]); |
MiniTLS | 0:35aa5be3b78d | 1426 | COMBA_STORE(b[14]); |
MiniTLS | 0:35aa5be3b78d | 1427 | |
MiniTLS | 0:35aa5be3b78d | 1428 | /* output 15 */ |
MiniTLS | 0:35aa5be3b78d | 1429 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1430 | SQRADDSC(a[0], a[15]); SQRADDAC(a[1], a[14]); SQRADDAC(a[2], a[13]); SQRADDAC(a[3], a[12]); SQRADDAC(a[4], a[11]); SQRADDAC(a[5], a[10]); SQRADDAC(a[6], a[9]); SQRADDAC(a[7], a[8]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1431 | COMBA_STORE(b[15]); |
MiniTLS | 0:35aa5be3b78d | 1432 | |
MiniTLS | 0:35aa5be3b78d | 1433 | /* output 16 */ |
MiniTLS | 0:35aa5be3b78d | 1434 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1435 | SQRADDSC(a[1], a[15]); SQRADDAC(a[2], a[14]); SQRADDAC(a[3], a[13]); SQRADDAC(a[4], a[12]); SQRADDAC(a[5], a[11]); SQRADDAC(a[6], a[10]); SQRADDAC(a[7], a[9]); SQRADDDB; SQRADD(a[8], a[8]); |
MiniTLS | 0:35aa5be3b78d | 1436 | COMBA_STORE(b[16]); |
MiniTLS | 0:35aa5be3b78d | 1437 | |
MiniTLS | 0:35aa5be3b78d | 1438 | /* output 17 */ |
MiniTLS | 0:35aa5be3b78d | 1439 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1440 | SQRADDSC(a[2], a[15]); SQRADDAC(a[3], a[14]); SQRADDAC(a[4], a[13]); SQRADDAC(a[5], a[12]); SQRADDAC(a[6], a[11]); SQRADDAC(a[7], a[10]); SQRADDAC(a[8], a[9]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1441 | COMBA_STORE(b[17]); |
MiniTLS | 0:35aa5be3b78d | 1442 | |
MiniTLS | 0:35aa5be3b78d | 1443 | /* output 18 */ |
MiniTLS | 0:35aa5be3b78d | 1444 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1445 | SQRADDSC(a[3], a[15]); SQRADDAC(a[4], a[14]); SQRADDAC(a[5], a[13]); SQRADDAC(a[6], a[12]); SQRADDAC(a[7], a[11]); SQRADDAC(a[8], a[10]); SQRADDDB; SQRADD(a[9], a[9]); |
MiniTLS | 0:35aa5be3b78d | 1446 | COMBA_STORE(b[18]); |
MiniTLS | 0:35aa5be3b78d | 1447 | |
MiniTLS | 0:35aa5be3b78d | 1448 | /* output 19 */ |
MiniTLS | 0:35aa5be3b78d | 1449 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1450 | SQRADDSC(a[4], a[15]); SQRADDAC(a[5], a[14]); SQRADDAC(a[6], a[13]); SQRADDAC(a[7], a[12]); SQRADDAC(a[8], a[11]); SQRADDAC(a[9], a[10]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1451 | COMBA_STORE(b[19]); |
MiniTLS | 0:35aa5be3b78d | 1452 | |
MiniTLS | 0:35aa5be3b78d | 1453 | /* output 20 */ |
MiniTLS | 0:35aa5be3b78d | 1454 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1455 | SQRADDSC(a[5], a[15]); SQRADDAC(a[6], a[14]); SQRADDAC(a[7], a[13]); SQRADDAC(a[8], a[12]); SQRADDAC(a[9], a[11]); SQRADDDB; SQRADD(a[10], a[10]); |
MiniTLS | 0:35aa5be3b78d | 1456 | COMBA_STORE(b[20]); |
MiniTLS | 0:35aa5be3b78d | 1457 | |
MiniTLS | 0:35aa5be3b78d | 1458 | /* output 21 */ |
MiniTLS | 0:35aa5be3b78d | 1459 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1460 | SQRADDSC(a[6], a[15]); SQRADDAC(a[7], a[14]); SQRADDAC(a[8], a[13]); SQRADDAC(a[9], a[12]); SQRADDAC(a[10], a[11]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1461 | COMBA_STORE(b[21]); |
MiniTLS | 0:35aa5be3b78d | 1462 | |
MiniTLS | 0:35aa5be3b78d | 1463 | /* output 22 */ |
MiniTLS | 0:35aa5be3b78d | 1464 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1465 | SQRADDSC(a[7], a[15]); SQRADDAC(a[8], a[14]); SQRADDAC(a[9], a[13]); SQRADDAC(a[10], a[12]); SQRADDDB; SQRADD(a[11], a[11]); |
MiniTLS | 0:35aa5be3b78d | 1466 | COMBA_STORE(b[22]); |
MiniTLS | 0:35aa5be3b78d | 1467 | |
MiniTLS | 0:35aa5be3b78d | 1468 | /* output 23 */ |
MiniTLS | 0:35aa5be3b78d | 1469 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1470 | SQRADDSC(a[8], a[15]); SQRADDAC(a[9], a[14]); SQRADDAC(a[10], a[13]); SQRADDAC(a[11], a[12]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1471 | COMBA_STORE(b[23]); |
MiniTLS | 0:35aa5be3b78d | 1472 | |
MiniTLS | 0:35aa5be3b78d | 1473 | /* output 24 */ |
MiniTLS | 0:35aa5be3b78d | 1474 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1475 | SQRADDSC(a[9], a[15]); SQRADDAC(a[10], a[14]); SQRADDAC(a[11], a[13]); SQRADDDB; SQRADD(a[12], a[12]); |
MiniTLS | 0:35aa5be3b78d | 1476 | COMBA_STORE(b[24]); |
MiniTLS | 0:35aa5be3b78d | 1477 | |
MiniTLS | 0:35aa5be3b78d | 1478 | /* output 25 */ |
MiniTLS | 0:35aa5be3b78d | 1479 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1480 | SQRADDSC(a[10], a[15]); SQRADDAC(a[11], a[14]); SQRADDAC(a[12], a[13]); SQRADDDB; |
MiniTLS | 0:35aa5be3b78d | 1481 | COMBA_STORE(b[25]); |
MiniTLS | 0:35aa5be3b78d | 1482 | |
MiniTLS | 0:35aa5be3b78d | 1483 | /* output 26 */ |
MiniTLS | 0:35aa5be3b78d | 1484 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1485 | SQRADD2(a[11], a[15]); SQRADD2(a[12], a[14]); SQRADD(a[13], a[13]); |
MiniTLS | 0:35aa5be3b78d | 1486 | COMBA_STORE(b[26]); |
MiniTLS | 0:35aa5be3b78d | 1487 | |
MiniTLS | 0:35aa5be3b78d | 1488 | /* output 27 */ |
MiniTLS | 0:35aa5be3b78d | 1489 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1490 | SQRADD2(a[12], a[15]); SQRADD2(a[13], a[14]); |
MiniTLS | 0:35aa5be3b78d | 1491 | COMBA_STORE(b[27]); |
MiniTLS | 0:35aa5be3b78d | 1492 | |
MiniTLS | 0:35aa5be3b78d | 1493 | /* output 28 */ |
MiniTLS | 0:35aa5be3b78d | 1494 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1495 | SQRADD2(a[13], a[15]); SQRADD(a[14], a[14]); |
MiniTLS | 0:35aa5be3b78d | 1496 | COMBA_STORE(b[28]); |
MiniTLS | 0:35aa5be3b78d | 1497 | |
MiniTLS | 0:35aa5be3b78d | 1498 | /* output 29 */ |
MiniTLS | 0:35aa5be3b78d | 1499 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1500 | SQRADD2(a[14], a[15]); |
MiniTLS | 0:35aa5be3b78d | 1501 | COMBA_STORE(b[29]); |
MiniTLS | 0:35aa5be3b78d | 1502 | |
MiniTLS | 0:35aa5be3b78d | 1503 | /* output 30 */ |
MiniTLS | 0:35aa5be3b78d | 1504 | CARRY_FORWARD; |
MiniTLS | 0:35aa5be3b78d | 1505 | SQRADD(a[15], a[15]); |
MiniTLS | 0:35aa5be3b78d | 1506 | COMBA_STORE(b[30]); |
MiniTLS | 0:35aa5be3b78d | 1507 | COMBA_STORE2(b[31]); |
MiniTLS | 0:35aa5be3b78d | 1508 | COMBA_FINI; |
MiniTLS | 0:35aa5be3b78d | 1509 | |
MiniTLS | 0:35aa5be3b78d | 1510 | B->used = 32; |
MiniTLS | 0:35aa5be3b78d | 1511 | B->sign = FP_ZPOS; |
MiniTLS | 0:35aa5be3b78d | 1512 | memcpy(B->dp, b, 32 * sizeof(fp_digit)); |
MiniTLS | 0:35aa5be3b78d | 1513 | fp_clamp(B); |
MiniTLS | 0:35aa5be3b78d | 1514 | break; |
MiniTLS | 0:35aa5be3b78d | 1515 | } |
MiniTLS | 0:35aa5be3b78d | 1516 | } |
MiniTLS | 0:35aa5be3b78d | 1517 | |
MiniTLS | 0:35aa5be3b78d | 1518 | #endif /* TFM_SMALL_SET */ |
MiniTLS | 0:35aa5be3b78d | 1519 | |
MiniTLS | 0:35aa5be3b78d | 1520 | /* $Source: /cvs/libtom/tomsfastmath/src/sqr/fp_sqr_comba_small_set.c,v $ */ |
MiniTLS | 0:35aa5be3b78d | 1521 | /* $Revision: 1.1 $ */ |
MiniTLS | 0:35aa5be3b78d | 1522 | /* $Date: 2007/02/15 00:31:32 $ */ |