arnaucube
arnaucube/circomlibPublic Self-hosted repository
circomlib/test/circuits/circuit.json
test/circuits/circuit.jsonRaw
  1{
  2 "mainCode": "{\n    {\n    }\n}\n",
  3 "signalName2Idx": {
  4  "one": 0,
  5  "main.in": 33,
  6  "main.out[0][0]": 1,
  7  "main.out[0][1]": 2,
  8  "main.out[1][0]": 3,
  9  "main.out[1][1]": 4,
 10  "main.out[2][0]": 5,
 11  "main.out[2][1]": 6,
 12  "main.out[3][0]": 7,
 13  "main.out[3][1]": 8,
 14  "main.out[4][0]": 9,
 15  "main.out[4][1]": 10,
 16  "main.out[5][0]": 11,
 17  "main.out[5][1]": 12,
 18  "main.out[6][0]": 13,
 19  "main.out[6][1]": 14,
 20  "main.out[7][0]": 15,
 21  "main.out[7][1]": 16,
 22  "main.out[8][0]": 17,
 23  "main.out[8][1]": 18,
 24  "main.out[9][0]": 19,
 25  "main.out[9][1]": 20,
 26  "main.out[10][0]": 21,
 27  "main.out[10][1]": 22,
 28  "main.out[11][0]": 23,
 29  "main.out[11][1]": 24,
 30  "main.out[12][0]": 25,
 31  "main.out[12][1]": 26,
 32  "main.out[13][0]": 27,
 33  "main.out[13][1]": 28,
 34  "main.out[14][0]": 29,
 35  "main.out[14][1]": 30,
 36  "main.out[15][0]": 31,
 37  "main.out[15][1]": 32,
 38  "main.escalarMul.out[0][0]": 34,
 39  "main.escalarMul.out[0][1]": 35,
 40  "main.escalarMul.out[1][0]": 36,
 41  "main.escalarMul.out[1][1]": 37,
 42  "main.escalarMul.out[2][0]": 38,
 43  "main.escalarMul.out[2][1]": 39,
 44  "main.escalarMul.out[3][0]": 40,
 45  "main.escalarMul.out[3][1]": 41,
 46  "main.escalarMul.out[4][0]": 42,
 47  "main.escalarMul.out[4][1]": 43,
 48  "main.escalarMul.out[5][0]": 44,
 49  "main.escalarMul.out[5][1]": 45,
 50  "main.escalarMul.out[6][0]": 46,
 51  "main.escalarMul.out[6][1]": 47,
 52  "main.escalarMul.out[7][0]": 48,
 53  "main.escalarMul.out[7][1]": 49,
 54  "main.escalarMul.out[8][0]": 50,
 55  "main.escalarMul.out[8][1]": 51,
 56  "main.escalarMul.out[9][0]": 52,
 57  "main.escalarMul.out[9][1]": 53,
 58  "main.escalarMul.out[10][0]": 54,
 59  "main.escalarMul.out[10][1]": 55,
 60  "main.escalarMul.out[11][0]": 56,
 61  "main.escalarMul.out[11][1]": 57,
 62  "main.escalarMul.out[12][0]": 58,
 63  "main.escalarMul.out[12][1]": 59,
 64  "main.escalarMul.out[13][0]": 60,
 65  "main.escalarMul.out[13][1]": 61,
 66  "main.escalarMul.out[14][0]": 62,
 67  "main.escalarMul.out[14][1]": 63,
 68  "main.escalarMul.out[15][0]": 64,
 69  "main.escalarMul.out[15][1]": 65
 70 },
 71 "components": [
 72  {
 73   "name": "main",
 74   "params": {},
 75   "template": "Main",
 76   "inputSignals": 1
 77  },
 78  {
 79   "name": "main.escalarMul",
 80   "params": {
 81    "base": [
 82     "5299619240641551281634865583518297030282874472190772894086521144482721001553",
 83     "16950150798460657717958625567821834550301663161624707787222815936182638968203"
 84    ],
 85    "k": "0"
 86   },
 87   "template": "EscalarMulW4Table",
 88   "inputSignals": 0
 89  }
 90 ],
 91 "componentName2Idx": {
 92  "main": 0,
 93  "main.escalarMul": 1
 94 },
 95 "signals": [
 96  {
 97   "names": [
 98    "one"
 99   ],
100   "triggerComponents": []
101  },
102  {
103   "names": [
104    "main.out[0][0]"
105   ],
106   "triggerComponents": []
107  },
108  {
109   "names": [
110    "main.out[0][1]"
111   ],
112   "triggerComponents": []
113  },
114  {
115   "names": [
116    "main.out[1][0]"
117   ],
118   "triggerComponents": []
119  },
120  {
121   "names": [
122    "main.out[1][1]"
123   ],
124   "triggerComponents": []
125  },
126  {
127   "names": [
128    "main.out[2][0]"
129   ],
130   "triggerComponents": []
131  },
132  {
133   "names": [
134    "main.out[2][1]"
135   ],
136   "triggerComponents": []
137  },
138  {
139   "names": [
140    "main.out[3][0]"
141   ],
142   "triggerComponents": []
143  },
144  {
145   "names": [
146    "main.out[3][1]"
147   ],
148   "triggerComponents": []
149  },
150  {
151   "names": [
152    "main.out[4][0]"
153   ],
154   "triggerComponents": []
155  },
156  {
157   "names": [
158    "main.out[4][1]"
159   ],
160   "triggerComponents": []
161  },
162  {
163   "names": [
164    "main.out[5][0]"
165   ],
166   "triggerComponents": []
167  },
168  {
169   "names": [
170    "main.out[5][1]"
171   ],
172   "triggerComponents": []
173  },
174  {
175   "names": [
176    "main.out[6][0]"
177   ],
178   "triggerComponents": []
179  },
180  {
181   "names": [
182    "main.out[6][1]"
183   ],
184   "triggerComponents": []
185  },
186  {
187   "names": [
188    "main.out[7][0]"
189   ],
190   "triggerComponents": []
191  },
192  {
193   "names": [
194    "main.out[7][1]"
195   ],
196   "triggerComponents": []
197  },
198  {
199   "names": [
200    "main.out[8][0]"
201   ],
202   "triggerComponents": []
203  },
204  {
205   "names": [
206    "main.out[8][1]"
207   ],
208   "triggerComponents": []
209  },
210  {
211   "names": [
212    "main.out[9][0]"
213   ],
214   "triggerComponents": []
215  },
216  {
217   "names": [
218    "main.out[9][1]"
219   ],
220   "triggerComponents": []
221  },
222  {
223   "names": [
224    "main.out[10][0]"
225   ],
226   "triggerComponents": []
227  },
228  {
229   "names": [
230    "main.out[10][1]"
231   ],
232   "triggerComponents": []
233  },
234  {
235   "names": [
236    "main.out[11][0]"
237   ],
238   "triggerComponents": []
239  },
240  {
241   "names": [
242    "main.out[11][1]"
243   ],
244   "triggerComponents": []
245  },
246  {
247   "names": [
248    "main.out[12][0]"
249   ],
250   "triggerComponents": []
251  },
252  {
253   "names": [
254    "main.out[12][1]"
255   ],
256   "triggerComponents": []
257  },
258  {
259   "names": [
260    "main.out[13][0]"
261   ],
262   "triggerComponents": []
263  },
264  {
265   "names": [
266    "main.out[13][1]"
267   ],
268   "triggerComponents": []
269  },
270  {
271   "names": [
272    "main.out[14][0]"
273   ],
274   "triggerComponents": []
275  },
276  {
277   "names": [
278    "main.out[14][1]"
279   ],
280   "triggerComponents": []
281  },
282  {
283   "names": [
284    "main.out[15][0]"
285   ],
286   "triggerComponents": []
287  },
288  {
289   "names": [
290    "main.out[15][1]"
291   ],
292   "triggerComponents": []
293  },
294  {
295   "names": [
296    "main.in"
297   ],
298   "triggerComponents": [
299    0
300   ]
301  },
302  {
303   "names": [
304    "main.escalarMul.out[0][0]"
305   ],
306   "triggerComponents": []
307  },
308  {
309   "names": [
310    "main.escalarMul.out[0][1]"
311   ],
312   "triggerComponents": []
313  },
314  {
315   "names": [
316    "main.escalarMul.out[1][0]"
317   ],
318   "triggerComponents": []
319  },
320  {
321   "names": [
322    "main.escalarMul.out[1][1]"
323   ],
324   "triggerComponents": []
325  },
326  {
327   "names": [
328    "main.escalarMul.out[2][0]"
329   ],
330   "triggerComponents": []
331  },
332  {
333   "names": [
334    "main.escalarMul.out[2][1]"
335   ],
336   "triggerComponents": []
337  },
338  {
339   "names": [
340    "main.escalarMul.out[3][0]"
341   ],
342   "triggerComponents": []
343  },
344  {
345   "names": [
346    "main.escalarMul.out[3][1]"
347   ],
348   "triggerComponents": []
349  },
350  {
351   "names": [
352    "main.escalarMul.out[4][0]"
353   ],
354   "triggerComponents": []
355  },
356  {
357   "names": [
358    "main.escalarMul.out[4][1]"
359   ],
360   "triggerComponents": []
361  },
362  {
363   "names": [
364    "main.escalarMul.out[5][0]"
365   ],
366   "triggerComponents": []
367  },
368  {
369   "names": [
370    "main.escalarMul.out[5][1]"
371   ],
372   "triggerComponents": []
373  },
374  {
375   "names": [
376    "main.escalarMul.out[6][0]"
377   ],
378   "triggerComponents": []
379  },
380  {
381   "names": [
382    "main.escalarMul.out[6][1]"
383   ],
384   "triggerComponents": []
385  },
386  {
387   "names": [
388    "main.escalarMul.out[7][0]"
389   ],
390   "triggerComponents": []
391  },
392  {
393   "names": [
394    "main.escalarMul.out[7][1]"
395   ],
396   "triggerComponents": []
397  },
398  {
399   "names": [
400    "main.escalarMul.out[8][0]"
401   ],
402   "triggerComponents": []
403  },
404  {
405   "names": [
406    "main.escalarMul.out[8][1]"
407   ],
408   "triggerComponents": []
409  },
410  {
411   "names": [
412    "main.escalarMul.out[9][0]"
413   ],
414   "triggerComponents": []
415  },
416  {
417   "names": [
418    "main.escalarMul.out[9][1]"
419   ],
420   "triggerComponents": []
421  },
422  {
423   "names": [
424    "main.escalarMul.out[10][0]"
425   ],
426   "triggerComponents": []
427  },
428  {
429   "names": [
430    "main.escalarMul.out[10][1]"
431   ],
432   "triggerComponents": []
433  },
434  {
435   "names": [
436    "main.escalarMul.out[11][0]"
437   ],
438   "triggerComponents": []
439  },
440  {
441   "names": [
442    "main.escalarMul.out[11][1]"
443   ],
444   "triggerComponents": []
445  },
446  {
447   "names": [
448    "main.escalarMul.out[12][0]"
449   ],
450   "triggerComponents": []
451  },
452  {
453   "names": [
454    "main.escalarMul.out[12][1]"
455   ],
456   "triggerComponents": []
457  },
458  {
459   "names": [
460    "main.escalarMul.out[13][0]"
461   ],
462   "triggerComponents": []
463  },
464  {
465   "names": [
466    "main.escalarMul.out[13][1]"
467   ],
468   "triggerComponents": []
469  },
470  {
471   "names": [
472    "main.escalarMul.out[14][0]"
473   ],
474   "triggerComponents": []
475  },
476  {
477   "names": [
478    "main.escalarMul.out[14][1]"
479   ],
480   "triggerComponents": []
481  },
482  {
483   "names": [
484    "main.escalarMul.out[15][0]"
485   ],
486   "triggerComponents": []
487  },
488  {
489   "names": [
490    "main.escalarMul.out[15][1]"
491   ],
492   "triggerComponents": []
493  }
494 ],
495 "constraints": [
496  [
497   {},
498   {
499    "33": "1"
500   },
501   {
502    "1": "21888242871839275222246405745257275088548364400416034343698204186575808495616"
503   }
504  ],
505  [
506   {},
507   {},
508   {
509    "2": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
510    "33": "1"
511   }
512  ],
513  [
514   {},
515   {},
516   {
517    "3": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
518    "33": "5299619240641551281634865583518297030282874472190772894086521144482721001553"
519   }
520  ],
521  [
522   {},
523   {},
524   {
525    "4": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
526    "33": "16950150798460657717958625567821834550301663161624707787222815936182638968203"
527   }
528  ],
529  [
530   {},
531   {},
532   {
533    "5": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
534    "33": "10031262171927540148667355526369034398030886437092045105752248699557385197826"
535   }
536  ],
537  [
538   {},
539   {},
540   {
541    "6": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
542    "33": "633281375905621697187330766174974863687049529291089048651929454608812697683"
543   }
544  ],
545  [
546   {},
547   {},
548   {
549    "7": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
550    "33": "2763488322167937039616325905516046217694264098671987087929565332380420898366"
551   }
552  ],
553  [
554   {},
555   {},
556   {
557    "8": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
558    "33": "15305195750036305661220525648961313310481046260814497672243197092298550508693"
559   }
560  ],
561  [
562   {},
563   {},
564   {
565    "9": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
566    "33": "12252886604826192316928789929706397349846234911198931249025449955069330867144"
567   }
568  ],
569  [
570   {},
571   {},
572   {
573    "10": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
574    "33": "1286140751908834028607023759717162073146610688084909004843365841635476459484"
575   }
576  ],
577  [
578   {},
579   {},
580   {
581    "11": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
582    "33": "11480966271046430430613841218147196773252373073876138147006741179837832100836"
583   }
584  ],
585  [
586   {},
587   {},
588   {
589    "12": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
590    "33": "15148236048131954717802795400425086368006776860859772698778589175317365693546"
591   }
592  ],
593  [
594   {},
595   {},
596   {
597    "13": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
598    "33": "10483991165196995731760716870725509190315033255344071753161464961897900552628"
599   }
600  ],
601  [
602   {},
603   {},
604   {
605    "14": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
606    "33": "16822899191463256771813724222715007505997804748105685077895991386716774358231"
607   }
608  ],
609  [
610   {},
611   {},
612   {
613    "15": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
614    "33": "20092560661213339045022877747484245238324772779820628739268223482659246842641"
615   }
616  ],
617  [
618   {},
619   {},
620   {
621    "16": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
622    "33": "12112450042127193446189577552007703839818242727902437791835414514847797088033"
623   }
624  ],
625  [
626   {},
627   {},
628   {
629    "17": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
630    "33": "7582035475627193640797276505418002166691739036475590846121162698650004832581"
631   }
632  ],
633  [
634   {},
635   {},
636   {
637    "18": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
638    "33": "7801528930831391612913542953849263092120765287178679640990215688947513841260"
639   }
640  ],
641  [
642   {},
643   {},
644   {
645    "19": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
646    "33": "4705897243203718691035604313913899717760209962238015362153877735592901317263"
647   }
648  ],
649  [
650   {},
651   {},
652   {
653    "20": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
654    "33": "11533909001000295577818857040682494493436124051895563619976413559559984357704"
655   }
656  ],
657  [
658   {},
659   {},
660   {
661    "21": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
662    "33": "153240920024090527149238595127650983736082984617707450012091413752625486998"
663   }
664  ],
665  [
666   {},
667   {},
668   {
669    "22": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
670    "33": "4020276081434545615309760015178511782232038136121596626881988383789905359767"
671   }
672  ],
673  [
674   {},
675   {},
676   {
677    "23": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
678    "33": "21605515851820432880964235241069234202284600780825340516808373216881770219365"
679   }
680  ],
681  [
682   {},
683   {},
684   {
685    "24": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
686    "33": "18856460861531942120859708048677603751294231190189224157283439874962410808705"
687   }
688  ],
689  [
690   {},
691   {},
692   {
693    "25": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
694    "33": "13745444942333935831105476262872495530232646590228527111681360848540626474828"
695   }
696  ],
697  [
698   {},
699   {},
700   {
701    "26": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
702    "33": "12593235468414968750242085888471035041062129592669413010808753916989521208231"
703   }
704  ],
705  [
706   {},
707   {},
708   {
709    "27": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
710    "33": "2645068156583085050795409844793952496341966587935372213947442411891928926825"
711   }
712  ],
713  [
714   {},
715   {},
716   {
717    "28": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
718    "33": "18721023485287444620535873833099074300132272004358512346950884094158923211889"
719   }
720  ],
721  [
722   {},
723   {},
724   {
725    "29": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
726    "33": "6271573312546148160329629673815240458676221818610765478794395550121752710497"
727   }
728  ],
729  [
730   {},
731   {},
732   {
733    "30": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
734    "33": "20729133862440981855920571719405839551572203482913253618619962546642052100217"
735   }
736  ],
737  [
738   {},
739   {},
740   {
741    "31": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
742    "33": "5958787406588418500595239545974275039455545059833263445973445578199987122248"
743   }
744  ],
745  [
746   {},
747   {},
748   {
749    "32": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
750    "33": "6291453822075498887551694851992571215511219854100590306020486222643399599966"
751   }
752  ]
753 ],
754 "templates": {
755  "EscalarMulW4Table": "function(ctx) {\n    ctx.setVar(\"dbl\", [], ctx.getVar(\"base\",[]));\n    for (ctx.setVar(\"i\", [], \"0\");bigInt(bigInt(ctx.getVar(\"i\",[])).lt(bigInt(bigInt(ctx.getVar(\"k\",[])).mul(bigInt(\"4\")).mod(__P__))) ? 1 : 0).neq(bigInt(0));(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__)) { \n    {\n        ctx.setVar(\"dbl\", [], ctx.callFunction(\"pointAdd\", [ctx.getVar(\"dbl\",[\"0\"]),ctx.getVar(\"dbl\",[\"1\"]),ctx.getVar(\"dbl\",[\"0\"]),ctx.getVar(\"dbl\",[\"1\"])]));\n    }\n\n     }\n    ctx.setSignal(\"out\", [\"0\",\"0\"], \"0\");\n    ctx.assert(ctx.getSignal(\"out\", [\"0\",\"0\"]), \"0\");\n    ctx.setSignal(\"out\", [\"0\",\"1\"], \"1\");\n    ctx.assert(ctx.getSignal(\"out\", [\"0\",\"1\"]), \"1\");\n    for (ctx.setVar(\"i\", [], \"1\");bigInt(bigInt(ctx.getVar(\"i\",[])).lt(bigInt(\"16\")) ? 1 : 0).neq(bigInt(0));(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__)) { \n    {\n        ctx.setVar(\"p\", [], ctx.callFunction(\"pointAdd\", [ctx.getSignal(\"out\", [bigInt(ctx.getVar(\"i\",[])).add(__P__).sub(bigInt(\"1\")).mod(__P__),\"0\"]),ctx.getSignal(\"out\", [bigInt(ctx.getVar(\"i\",[])).add(__P__).sub(bigInt(\"1\")).mod(__P__),\"1\"]),ctx.getVar(\"dbl\",[\"0\"]),ctx.getVar(\"dbl\",[\"1\"])]));\n        ctx.setSignal(\"out\", [ctx.getVar(\"i\",[]),\"0\"], ctx.getVar(\"p\",[\"0\"]));\n        ctx.assert(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[]),\"0\"]), ctx.getVar(\"p\",[\"0\"]));\n        ctx.setSignal(\"out\", [ctx.getVar(\"i\",[]),\"1\"], ctx.getVar(\"p\",[\"1\"]));\n        ctx.assert(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[]),\"1\"]), ctx.getVar(\"p\",[\"1\"]));\n    }\n\n     }\n}\n",
756  "Main": "function(ctx) {\n    ctx.setVar(\"base\", [], [\"5299619240641551281634865583518297030282874472190772894086521144482721001553\",\"16950150798460657717958625567821834550301663161624707787222815936182638968203\"]);\n    for (ctx.setVar(\"i\", [], \"0\");bigInt(bigInt(ctx.getVar(\"i\",[])).lt(bigInt(\"16\")) ? 1 : 0).neq(bigInt(0));(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__)) { \n    {\n        ctx.setSignal(\"out\", [ctx.getVar(\"i\",[]),\"0\"], bigInt(ctx.getPin(\"escalarMul\", [], \"out\", [ctx.getVar(\"i\",[]),\"0\"])).mul(bigInt(ctx.getSignal(\"in\", []))).mod(__P__));\n        ctx.assert(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[]),\"0\"]), bigInt(ctx.getPin(\"escalarMul\", [], \"out\", [ctx.getVar(\"i\",[]),\"0\"])).mul(bigInt(ctx.getSignal(\"in\", []))).mod(__P__));\n        ctx.setSignal(\"out\", [ctx.getVar(\"i\",[]),\"1\"], bigInt(ctx.getPin(\"escalarMul\", [], \"out\", [ctx.getVar(\"i\",[]),\"1\"])).mul(bigInt(ctx.getSignal(\"in\", []))).mod(__P__));\n        ctx.assert(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[]),\"1\"]), bigInt(ctx.getPin(\"escalarMul\", [], \"out\", [ctx.getVar(\"i\",[]),\"1\"])).mul(bigInt(ctx.getSignal(\"in\", []))).mod(__P__));\n    }\n\n     }\n}\n"
757 },
758 "functions": {
759  "pointAdd": {
760   "params": [
761    "x1",
762    "y1",
763    "x2",
764    "y2"
765   ],
766   "func": "function(ctx) {\n    ctx.setVar(\"a\", [], \"168700\");\n    ctx.setVar(\"d\", [], \"168696\");\n    ctx.setVar(\"res\", [\"0\"], bigInt(bigInt(bigInt(ctx.getVar(\"x1\",[])).mul(bigInt(ctx.getVar(\"y2\",[]))).mod(__P__)).add(bigInt(bigInt(ctx.getVar(\"y1\",[])).mul(bigInt(ctx.getVar(\"x2\",[]))).mod(__P__))).mod(__P__)).mul( bigInt(bigInt(\"1\").add(bigInt(bigInt(bigInt(bigInt(bigInt(ctx.getVar(\"d\",[])).mul(bigInt(ctx.getVar(\"x1\",[]))).mod(__P__)).mul(bigInt(ctx.getVar(\"x2\",[]))).mod(__P__)).mul(bigInt(ctx.getVar(\"y1\",[]))).mod(__P__)).mul(bigInt(ctx.getVar(\"y2\",[]))).mod(__P__))).mod(__P__)).inverse(__P__) ).mod(__P__));\n    ctx.setVar(\"res\", [\"1\"], bigInt(bigInt(bigInt(ctx.getVar(\"y1\",[])).mul(bigInt(ctx.getVar(\"y2\",[]))).mod(__P__)).add(__P__).sub(bigInt(bigInt(bigInt(ctx.getVar(\"a\",[])).mul(bigInt(ctx.getVar(\"x1\",[]))).mod(__P__)).mul(bigInt(ctx.getVar(\"x2\",[]))).mod(__P__))).mod(__P__)).mul( bigInt(bigInt(\"1\").add(__P__).sub(bigInt(bigInt(bigInt(bigInt(bigInt(ctx.getVar(\"d\",[])).mul(bigInt(ctx.getVar(\"x1\",[]))).mod(__P__)).mul(bigInt(ctx.getVar(\"x2\",[]))).mod(__P__)).mul(bigInt(ctx.getVar(\"y1\",[]))).mod(__P__)).mul(bigInt(ctx.getVar(\"y2\",[]))).mod(__P__))).mod(__P__)).inverse(__P__) ).mod(__P__));\n    return ctx.getVar(\"res\",[]);;\n}\n"
767  }
768 },
769 "nPrvInputs": 0,
770 "nPubInputs": 1,
771 "nInputs": 1,
772 "nOutputs": 32,
773 "nVars": 34,
774 "nConstants": 32,
775 "nSignals": 66
776}