LCOV - code coverage report
Current view: top level - monetdb5/modules/mal - calc.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 377 514 73.3 %
Date: 2024-12-20 21:24:02 Functions: 39 45 86.7 %

          Line data    Source code
       1             : /*
       2             :  * SPDX-License-Identifier: MPL-2.0
       3             :  *
       4             :  * This Source Code Form is subject to the terms of the Mozilla Public
       5             :  * License, v. 2.0.  If a copy of the MPL was not distributed with this
       6             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       7             :  *
       8             :  * Copyright 2024 MonetDB Foundation;
       9             :  * Copyright August 2008 - 2023 MonetDB B.V.;
      10             :  * Copyright 1997 - July 2008 CWI.
      11             :  */
      12             : 
      13             : #include "monetdb_config.h"
      14             : #include "gdk.h"
      15             : #include "mal_exception.h"
      16             : #include "mal_interpreter.h"
      17             : 
      18             : static str
      19         359 : mythrow(enum malexception type, const char *fcn, const char *msg)
      20             : {
      21         359 :         char *errbuf = GDKerrbuf;
      22         359 :         char *s;
      23             : 
      24         359 :         if (errbuf && *errbuf) {
      25         359 :                 if (strncmp(errbuf, "!ERROR: ", 8) == 0)
      26         359 :                         errbuf += 8;
      27         359 :                 if (strchr(errbuf, '!') == errbuf + 5) {
      28           0 :                         s = createException(type, fcn, "%s", errbuf);
      29         359 :                 } else if ((s = strchr(errbuf, ':')) != NULL && s[1] == ' ') {
      30         359 :                         s = createException(type, fcn, "%s", s + 2);
      31             :                 } else {
      32           0 :                         s = createException(type, fcn, "%s", errbuf);
      33             :                 }
      34         359 :                 GDKclrerr();
      35         359 :                 return s;
      36             :         }
      37           0 :         return createException(type, fcn, "%s", msg);
      38             : }
      39             : 
      40             : 
      41             : static str
      42       21925 : CMDvarSUB(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
      43             : {
      44       21925 :         (void) cntxt;
      45       21925 :         (void) mb;
      46             : 
      47       21903 :         if (VARcalcsub(&stk->stk[getArg(pci, 0)],
      48       21925 :                                    &stk->stk[getArg(pci, 1)],
      49       21925 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
      50           0 :                 return mythrow(MAL, "calc.-", OPERATION_FAILED);
      51             :         return MAL_SUCCEED;
      52             : }
      53             : 
      54             : 
      55             : static str
      56      119343 : CMDvarADD(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
      57             : {
      58      119343 :         (void) cntxt;
      59      119343 :         (void) mb;
      60             : 
      61      119354 :         if (VARcalcadd(&stk->stk[getArg(pci, 0)],
      62      119343 :                                    &stk->stk[getArg(pci, 1)],
      63      119343 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
      64           0 :                 return mythrow(MAL, "calc.+", OPERATION_FAILED);
      65             :         return MAL_SUCCEED;
      66             : }
      67             : 
      68             : 
      69             : static str
      70      140470 : CMDvarADDstr(str *ret, const char *const *s1, const char *const *s2)
      71             : {
      72      140470 :         str s;
      73      140470 :         size_t l1;
      74             : 
      75      279800 :         if (strNil(*s1) || strNil(*s2)) {
      76        2022 :                 *ret = GDKstrdup(str_nil);
      77        2022 :                 if (*ret == NULL)
      78           0 :                         return mythrow(MAL, "calc.+", SQLSTATE(HY013) MAL_MALLOC_FAIL);
      79             :                 return MAL_SUCCEED;
      80             :         }
      81      138448 :         l1 = strlen(*s1) + strlen(*s2) + 1;
      82      138448 :         s = GDKmalloc(l1);
      83      138448 :         if (s == NULL)
      84           0 :                 return mythrow(MAL, "calc.+", SQLSTATE(HY013) MAL_MALLOC_FAIL);
      85      138448 :         strconcat_len(s, l1, *s1, *s2, NULL);
      86      138448 :         *ret = s;
      87      138448 :         return MAL_SUCCEED;
      88             : }
      89             : 
      90             : 
      91             : static str
      92           0 : CMDvarADDstrint(str *ret, const char *const *s1, const int *i)
      93             : {
      94           0 :         str s;
      95           0 :         size_t len;
      96             : 
      97           0 :         if (strNil(*s1) || is_int_nil(*i)) {
      98           0 :                 *ret = GDKstrdup(str_nil);
      99           0 :                 if (*ret == NULL)
     100           0 :                         return mythrow(MAL, "calc.+", SQLSTATE(HY013) MAL_MALLOC_FAIL);
     101             :                 return MAL_SUCCEED;
     102             :         }
     103           0 :         len = strlen(*s1) + 16;         /* maxint = 2147483647 which fits easily */
     104           0 :         s = GDKmalloc(len);
     105           0 :         if (s == NULL)
     106           0 :                 return mythrow(MAL, "calc.+", SQLSTATE(HY013) MAL_MALLOC_FAIL);
     107           0 :         snprintf(s, len, "%s%d", *s1, *i);
     108           0 :         *ret = s;
     109           0 :         return MAL_SUCCEED;
     110             : }
     111             : 
     112             : 
     113             : static str
     114         610 : CMDvarMUL(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     115             : {
     116         610 :         (void) cntxt;
     117         610 :         (void) mb;
     118             : 
     119         610 :         if (VARcalcmul(&stk->stk[getArg(pci, 0)],
     120         610 :                                    &stk->stk[getArg(pci, 1)],
     121         610 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     122           0 :                 return mythrow(MAL, "calc.*", OPERATION_FAILED);
     123             :         return MAL_SUCCEED;
     124             : }
     125             : 
     126             : 
     127             : static str
     128         235 : CMDvarDIV(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     129             : {
     130         235 :         (void) cntxt;
     131         235 :         (void) mb;
     132             : 
     133         235 :         if (VARcalcdiv(&stk->stk[getArg(pci, 0)],
     134         235 :                                    &stk->stk[getArg(pci, 1)],
     135         235 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     136          12 :                 return mythrow(MAL, "calc./", OPERATION_FAILED);
     137             :         return MAL_SUCCEED;
     138             : }
     139             : 
     140             : 
     141             : static str
     142          18 : CMDvarMOD(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     143             : {
     144          18 :         (void) cntxt;
     145          18 :         (void) mb;
     146             : 
     147          18 :         if (VARcalcmod(&stk->stk[getArg(pci, 0)],
     148          18 :                                    &stk->stk[getArg(pci, 1)],
     149          18 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     150           0 :                 return mythrow(MAL, "calc.%", OPERATION_FAILED);
     151             :         return MAL_SUCCEED;
     152             : }
     153             : 
     154             : 
     155             : static str
     156          11 : CMDvarLSH(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     157             : {
     158          11 :         (void) cntxt;
     159          11 :         (void) mb;
     160             : 
     161          11 :         if (VARcalclsh(&stk->stk[getArg(pci, 0)],
     162          11 :                                    &stk->stk[getArg(pci, 1)],
     163          11 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     164           0 :                 return mythrow(MAL, "calc.<<", OPERATION_FAILED);
     165             :         return MAL_SUCCEED;
     166             : }
     167             : 
     168             : 
     169             : static str
     170          10 : CMDvarRSH(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     171             : {
     172          10 :         (void) cntxt;
     173          10 :         (void) mb;
     174             : 
     175          10 :         if (VARcalcrsh(&stk->stk[getArg(pci, 0)],
     176          10 :                                    &stk->stk[getArg(pci, 1)],
     177          10 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     178           1 :                 return mythrow(MAL, "calc.>>", OPERATION_FAILED);
     179             :         return MAL_SUCCEED;
     180             : }
     181             : 
     182             : 
     183             : static str
     184     4747378 : CMDvarAND(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     185             : {
     186     4747378 :         (void) cntxt;
     187     4747378 :         (void) mb;
     188             : 
     189     4747378 :         if (VARcalcand(&stk->stk[getArg(pci, 0)],
     190     4747378 :                                    &stk->stk[getArg(pci, 1)],
     191     4747378 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     192           0 :                 return mythrow(MAL, "calc.and", OPERATION_FAILED);
     193             :         return MAL_SUCCEED;
     194             : }
     195             : 
     196             : 
     197             : static str
     198     2524466 : CMDvarOR(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     199             : {
     200     2524466 :         (void) cntxt;
     201     2524466 :         (void) mb;
     202             : 
     203     2524466 :         if (VARcalcor(&stk->stk[getArg(pci, 0)],
     204     2524466 :                                   &stk->stk[getArg(pci, 1)],
     205     2524466 :                                   &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     206           0 :                 return mythrow(MAL, "calc.or", OPERATION_FAILED);
     207             :         return MAL_SUCCEED;
     208             : }
     209             : 
     210             : 
     211             : static str
     212          25 : CMDvarXOR(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     213             : {
     214          25 :         (void) cntxt;
     215          25 :         (void) mb;
     216             : 
     217          25 :         if (VARcalcxor(&stk->stk[getArg(pci, 0)],
     218          25 :                                    &stk->stk[getArg(pci, 1)],
     219          25 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     220           0 :                 return mythrow(MAL, "calc.xor", OPERATION_FAILED);
     221             :         return MAL_SUCCEED;
     222             : }
     223             : 
     224             : 
     225             : static str
     226         104 : CMDvarLT(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     227             : {
     228         104 :         (void) cntxt;
     229         104 :         (void) mb;
     230             : 
     231         104 :         if (VARcalclt(&stk->stk[getArg(pci, 0)],
     232         104 :                                   &stk->stk[getArg(pci, 1)],
     233         104 :                                   &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     234           0 :                 return mythrow(MAL, "calc.<", OPERATION_FAILED);
     235             :         return MAL_SUCCEED;
     236             : }
     237             : 
     238             : 
     239             : static str
     240         885 : CMDvarLE(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     241             : {
     242         885 :         (void) cntxt;
     243         885 :         (void) mb;
     244             : 
     245         885 :         if (VARcalcle(&stk->stk[getArg(pci, 0)],
     246         885 :                                   &stk->stk[getArg(pci, 1)],
     247         885 :                                   &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     248           0 :                 return mythrow(MAL, "calc.<=", OPERATION_FAILED);
     249             :         return MAL_SUCCEED;
     250             : }
     251             : 
     252             : 
     253             : static str
     254         811 : CMDvarGT(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     255             : {
     256         811 :         (void) cntxt;
     257         811 :         (void) mb;
     258             : 
     259         811 :         if (VARcalcgt(&stk->stk[getArg(pci, 0)],
     260         811 :                                   &stk->stk[getArg(pci, 1)],
     261         811 :                                   &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     262           0 :                 return mythrow(MAL, "calc.>", OPERATION_FAILED);
     263             :         return MAL_SUCCEED;
     264             : }
     265             : 
     266             : 
     267             : static str
     268          24 : CMDvarGE(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     269             : {
     270          24 :         (void) cntxt;
     271          24 :         (void) mb;
     272             : 
     273          24 :         if (VARcalcge
     274          24 :                 (&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)],
     275          24 :                  &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     276           0 :                 return mythrow(MAL, "calc.>=", OPERATION_FAILED);
     277             :         return MAL_SUCCEED;
     278             : }
     279             : 
     280             : 
     281             : static str
     282     2550707 : CMDvarEQ(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     283             : {
     284     2550707 :         (void) cntxt;
     285     2550707 :         (void) mb;
     286             : 
     287     2550707 :         if (VARcalceq(&stk->stk[getArg(pci, 0)],
     288     2550707 :                                   &stk->stk[getArg(pci, 1)],
     289     2550707 :                                   &stk->stk[getArg(pci, 2)],
     290     2550707 :                                   pci->argc == 3 ? false : *getArgReference_bit(stk, pci, 3)
     291             :                 ) != GDK_SUCCEED)
     292           0 :                 return mythrow(MAL, "calc.==", OPERATION_FAILED);
     293             :         return MAL_SUCCEED;
     294             : }
     295             : 
     296             : 
     297             : static str
     298       18543 : CMDvarNE(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     299             : {
     300       18543 :         (void) cntxt;
     301       18543 :         (void) mb;
     302             : 
     303       18568 :         if (VARcalcne(&stk->stk[getArg(pci, 0)],
     304       18543 :                                   &stk->stk[getArg(pci, 1)],
     305       18543 :                                   &stk->stk[getArg(pci, 2)],
     306       18543 :                                   pci->argc == 3 ? false : *getArgReference_bit(stk, pci, 3)) != GDK_SUCCEED)
     307           0 :                 return mythrow(MAL, "calc.!=", OPERATION_FAILED);
     308             :         return MAL_SUCCEED;
     309             : }
     310             : 
     311             : 
     312             : static str
     313           2 : CMDvarCMP(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     314             : {
     315           2 :         (void) cntxt;
     316           2 :         (void) mb;
     317             : 
     318           2 :         if (VARcalccmp(&stk->stk[getArg(pci, 0)],
     319           2 :                                    &stk->stk[getArg(pci, 1)],
     320           2 :                                    &stk->stk[getArg(pci, 2)]) != GDK_SUCCEED)
     321           0 :                 return mythrow(MAL, "calc.cmp", OPERATION_FAILED);
     322             :         return MAL_SUCCEED;
     323             : }
     324             : 
     325             : 
     326             : static str
     327          53 : CMDvarBETWEEN(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     328             : {
     329          53 :         (void) cntxt;
     330          53 :         (void) mb;
     331          53 :         bool symmetric, linc, hinc, nils_false, anti;
     332             : 
     333          53 :         symmetric = *getArgReference_bit(stk, pci, 4);
     334          53 :         linc = *getArgReference_bit(stk, pci, 5);
     335          53 :         hinc = *getArgReference_bit(stk, pci, 6);
     336          53 :         nils_false = *getArgReference_bit(stk, pci, 7);
     337          53 :         anti = *getArgReference_bit(stk, pci, 8);
     338          53 :         if (VARcalcbetween
     339          53 :                 (&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)],
     340          53 :                  &stk->stk[getArg(pci, 2)], &stk->stk[getArg(pci, 3)], symmetric, linc,
     341             :                  hinc, nils_false, anti) != GDK_SUCCEED)
     342           0 :                 return mythrow(MAL, "calc.between", OPERATION_FAILED);
     343             :         return MAL_SUCCEED;
     344             : }
     345             : 
     346             : 
     347             : static str
     348           0 : CMDstrlength(int *ret, const char *const *v)
     349             : {
     350           0 :         size_t l = strlen(*v);
     351             : 
     352           0 :         if (l > (size_t) GDK_int_max)
     353           0 :                 return mythrow(MAL, "calc.length", OPERATION_FAILED);
     354           0 :         *ret = (int) l;
     355           0 :         return MAL_SUCCEED;
     356             : }
     357             : 
     358             : 
     359             : static str
     360      114314 : CMDvarCONVERT(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     361             : {
     362      114314 :         char buf[20];
     363             : 
     364      114314 :         (void) cntxt;
     365      114314 :         (void) mb;
     366             : 
     367      114313 :         if (VARconvert
     368      114314 :                 (&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)], 0, 0,
     369             :                  0) != GDK_SUCCEED) {
     370         317 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     371         317 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     372             :         }
     373             :         return MAL_SUCCEED;
     374             : }
     375             : 
     376             : 
     377             : static str
     378           0 : CMDvarCONVERTptr(ptr *ret, ptr *v)
     379             : {
     380           0 :         *ret = *v;
     381           0 :         return MAL_SUCCEED;
     382             : }
     383             : 
     384             : 
     385             : static str
     386           0 : CMDvarISZERO(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     387             : {
     388           0 :         char buf[20];
     389             : 
     390           0 :         (void) cntxt;
     391           0 :         (void) mb;
     392             : 
     393           0 :         if (VARcalciszero(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     394           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     395           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     396             :         }
     397             :         return MAL_SUCCEED;
     398             : }
     399             : 
     400             : 
     401             : static str
     402     2488563 : CMDvarISNIL(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     403             : {
     404     2488563 :         char buf[20];
     405             : 
     406     2488563 :         (void) cntxt;
     407     2488563 :         (void) mb;
     408             : 
     409     2488563 :         if (VARcalcisnil(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     410           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     411           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     412             :         }
     413             :         return MAL_SUCCEED;
     414             : }
     415             : 
     416             : 
     417             : static str
     418         377 : CMDvarISNOTNIL(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     419             : {
     420         377 :         char buf[20];
     421             : 
     422         377 :         (void) cntxt;
     423         377 :         (void) mb;
     424             : 
     425         377 :         if (VARcalcisnotnil(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     426           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     427           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     428             :         }
     429             :         return MAL_SUCCEED;
     430             : }
     431             : 
     432             : 
     433             : static str
     434     2470713 : CMDvarNOT(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     435             : {
     436     2470713 :         char buf[20];
     437             : 
     438     2470713 :         (void) cntxt;
     439     2470713 :         (void) mb;
     440             : 
     441     2470713 :         if (VARcalcnot(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     442           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     443           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     444             :         }
     445             :         return MAL_SUCCEED;
     446             : }
     447             : 
     448             : 
     449             : static str
     450          45 : CMDvarABS(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     451             : {
     452          45 :         char buf[20];
     453             : 
     454          45 :         (void) cntxt;
     455          45 :         (void) mb;
     456             : 
     457          45 :         if (VARcalcabsolute(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     458           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     459           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     460             :         }
     461             :         return MAL_SUCCEED;
     462             : }
     463             : 
     464             : 
     465             : static str
     466           7 : CMDvarSIGN(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     467             : {
     468           7 :         char buf[20];
     469             : 
     470           7 :         (void) cntxt;
     471           7 :         (void) mb;
     472             : 
     473           7 :         if (VARcalcsign(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     474           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     475           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     476             :         }
     477             :         return MAL_SUCCEED;
     478             : }
     479             : 
     480             : 
     481             : static str
     482        3061 : CMDvarNEG(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     483             : {
     484        3061 :         char buf[20];
     485             : 
     486        3061 :         (void) cntxt;
     487        3061 :         (void) mb;
     488             : 
     489        3061 :         if (VARcalcnegate(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     490           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     491           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     492             :         }
     493             :         return MAL_SUCCEED;
     494             : }
     495             : 
     496             : 
     497             : static str
     498           0 : CMDvarINCR(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     499             : {
     500           0 :         char buf[20];
     501             : 
     502           0 :         (void) cntxt;
     503           0 :         (void) mb;
     504             : 
     505           0 :         if (VARcalcincr(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     506           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     507           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     508             :         }
     509             :         return MAL_SUCCEED;
     510             : }
     511             : 
     512             : 
     513             : static str
     514           0 : CMDvarDECR(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     515             : {
     516           0 :         char buf[20];
     517             : 
     518           0 :         (void) cntxt;
     519           0 :         (void) mb;
     520             : 
     521           0 :         if (VARcalcdecr(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)]) != GDK_SUCCEED) {
     522           0 :                 snprintf(buf, sizeof(buf), "%s.%s", pci->modname, pci->fcnname);
     523           0 :                 return mythrow(MAL, buf, OPERATION_FAILED);
     524             :         }
     525             :         return MAL_SUCCEED;
     526             : }
     527             : 
     528             : 
     529             : static str
     530      121132 : CALCswitchbit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     531             : {
     532      121132 :         ptr p;
     533      121132 :         ptr retval = getArgReference(stk, pci, 0);
     534      121132 :         bit b = stk->stk[getArg(pci, 1)].vtype == TYPE_msk
     535           0 :                         ? (bit) *getArgReference_msk(stk, pci, 1)
     536      121132 :                         : *getArgReference_bit(stk, pci, 1);
     537      121132 :         int t1 = getArgType(mb, pci, 2);
     538      121132 :         int t2 = getArgType(mb, pci, 3);
     539             : 
     540      121132 :         (void) cntxt;
     541      121132 :         if (t1 != t2)
     542           0 :                 return mythrow(MAL, "ifthenelse", SEMANTIC_TYPE_MISMATCH);
     543             : 
     544      121132 :         if (b && !is_bit_nil(b)) {
     545       68596 :                 p = getArgReference(stk, pci, 2);
     546             :         } else {
     547       52536 :                 p = getArgReference(stk, pci, 3);
     548             :         }
     549      121132 :         if (ATOMextern(t1)) {
     550      115082 :                 *(ptr **) retval = ATOMdup(t1, *(ptr **) p);
     551      115082 :                 if (*(ptr **) retval == NULL)
     552           0 :                         throw(MAL, "ifthenelse", SQLSTATE(HY013) MAL_MALLOC_FAIL);
     553        6050 :         } else if (t1 == TYPE_void) {
     554           0 :                 memcpy(retval, p, sizeof(oid));
     555             :         } else {
     556        6050 :                 memcpy(retval, p, ATOMsize(t1));
     557             :         }
     558             :         return MAL_SUCCEED;
     559             : }
     560             : 
     561             : 
     562             : static str
     563          46 : CALCmin(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     564             : {
     565          46 :         int t = getArgType(mb, pci, 1);
     566          46 :         const void *p1 = getArgReference(stk, pci, 1);
     567          46 :         const void *p2 = getArgReference(stk, pci, 2);
     568          46 :         const void *nil;
     569             : 
     570          46 :         (void) cntxt;
     571          46 :         if (t != getArgType(mb, pci, 2))
     572           0 :                 return mythrow(MAL, "calc.min", SEMANTIC_TYPE_MISMATCH);
     573          46 :         nil = ATOMnilptr(t);
     574          46 :         if (t >= TYPE_str && ATOMstorage(t) >= TYPE_str) {
     575           9 :                 p1 = *(ptr *) p1;
     576           9 :                 p2 = *(ptr *) p2;
     577             :         }
     578          46 :         if (ATOMcmp(t, p1, nil) == 0 || ATOMcmp(t, p2, nil) == 0)
     579             :                 p1 = nil;
     580          42 :         else if (ATOMcmp(t, p1, p2) > 0)
     581          12 :                 p1 = p2;
     582          46 :         if (VALinit(&stk->stk[getArg(pci, 0)], t, p1) == NULL)
     583           0 :                 return mythrow(MAL, "calc.min", SQLSTATE(HY013) MAL_MALLOC_FAIL);
     584             :         return MAL_SUCCEED;
     585             : }
     586             : 
     587             : 
     588             : static str
     589          69 : CALCmin_no_nil(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     590             : {
     591          69 :         int t = getArgType(mb, pci, 1);
     592          69 :         ptr p1 = getArgReference(stk, pci, 1);
     593          69 :         ptr p2 = getArgReference(stk, pci, 2);
     594          69 :         const void *nil;
     595             : 
     596          69 :         (void) cntxt;
     597          69 :         if (t != getArgType(mb, pci, 2))
     598           0 :                 return mythrow(MAL, "calc.min", SEMANTIC_TYPE_MISMATCH);
     599          69 :         nil = ATOMnilptr(t);
     600          69 :         if (t >= TYPE_str && ATOMstorage(t) >= TYPE_str) {
     601          13 :                 p1 = *(ptr *) p1;
     602          13 :                 p2 = *(ptr *) p2;
     603             :         }
     604         138 :         if (ATOMcmp(t, p1, nil) == 0 ||
     605         135 :                 (ATOMcmp(t, p2, nil) != 0 && ATOMcmp(t, p1, p2) > 0))
     606             :                 p1 = p2;
     607          69 :         if (pci->argc > 3) {
     608          25 :                 for(int i = 3; i < pci->argc; i++) {
     609          20 :                         if (t != getArgType(mb, pci, i))
     610           0 :                                 return mythrow(MAL, "calc.min", SEMANTIC_TYPE_MISMATCH);
     611          20 :                         ptr p2 = getArgReference(stk, pci, i);
     612          20 :                         if (t >= TYPE_str && ATOMstorage(t) >= TYPE_str)
     613          11 :                                 p2 = *(ptr *) p2;
     614          40 :                         if (ATOMcmp(t, p1, nil) == 0 ||
     615          40 :                                 (ATOMcmp(t, p2, nil) != 0 && ATOMcmp(t, p1, p2) > 0))
     616             :                                 p1 = p2;
     617             :                 }
     618             :         }
     619          69 :         if (VALinit(&stk->stk[getArg(pci, 0)], t, p1) == NULL)
     620           0 :                 return mythrow(MAL, "calc.min", SQLSTATE(HY013) MAL_MALLOC_FAIL);
     621             :         return MAL_SUCCEED;
     622             : }
     623             : 
     624             : 
     625             : static str
     626          41 : CALCmax(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     627             : {
     628          41 :         int t = getArgType(mb, pci, 1);
     629          41 :         const void *p1 = getArgReference(stk, pci, 1);
     630          41 :         const void *p2 = getArgReference(stk, pci, 2);
     631          41 :         const void *nil;
     632             : 
     633          41 :         (void) cntxt;
     634          41 :         if (t != getArgType(mb, pci, 2))
     635           0 :                 return mythrow(MAL, "calc.max", SEMANTIC_TYPE_MISMATCH);
     636          41 :         nil = ATOMnilptr(t);
     637          41 :         if (t >= TYPE_str && ATOMstorage(t) >= TYPE_str) {
     638          10 :                 p1 = *(ptr *) p1;
     639          10 :                 p2 = *(ptr *) p2;
     640             :         }
     641          41 :         if (ATOMcmp(t, p1, nil) == 0 || ATOMcmp(t, p2, nil) == 0)
     642             :                 p1 = nil;
     643          38 :         else if (ATOMcmp(t, p1, p2) < 0)
     644          25 :                 p1 = p2;
     645          41 :         if (VALinit(&stk->stk[getArg(pci, 0)], t, p1) == NULL)
     646           0 :                 return mythrow(MAL, "calc.max", SQLSTATE(HY013) MAL_MALLOC_FAIL);
     647             :         return MAL_SUCCEED;
     648             : }
     649             : 
     650             : 
     651             : static str
     652          70 : CALCmax_no_nil(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     653             : {
     654          70 :         int t = getArgType(mb, pci, 1);
     655          70 :         ptr p1 = getArgReference(stk, pci, 1);
     656          70 :         ptr p2 = getArgReference(stk, pci, 2);
     657          70 :         const void *nil;
     658             : 
     659          70 :         (void) cntxt;
     660          70 :         if (t != getArgType(mb, pci, 2))
     661           0 :                 return mythrow(MAL, "calc.max", SEMANTIC_TYPE_MISMATCH);
     662          70 :         nil = ATOMnilptr(t);
     663          70 :         if (t >= TYPE_str && ATOMstorage(t) >= TYPE_str) {
     664          26 :                 p1 = *(ptr *) p1;
     665          26 :                 p2 = *(ptr *) p2;
     666             :         }
     667         139 :         if (ATOMcmp(t, p1, nil) == 0 ||
     668         137 :                 (ATOMcmp(t, p2, nil) != 0 && ATOMcmp(t, p1, p2) < 0))
     669             :                 p1 = p2;
     670          70 :         if (pci->argc > 3) {
     671          22 :                 for(int i = 3; i < pci->argc; i++) {
     672          17 :                         if (t != getArgType(mb, pci, i))
     673           0 :                                 return mythrow(MAL, "calc.max", SEMANTIC_TYPE_MISMATCH);
     674          17 :                         ptr p2 = getArgReference(stk, pci, i);
     675          17 :                         if (t >= TYPE_str && ATOMstorage(t) >= TYPE_str)
     676          10 :                                 p2 = *(ptr *) p2;
     677          34 :                         if (ATOMcmp(t, p1, nil) == 0 ||
     678          34 :                                 (ATOMcmp(t, p2, nil) != 0 && ATOMcmp(t, p1, p2) < 0))
     679             :                                 p1 = p2;
     680             :                 }
     681             :         }
     682          70 :         if (VALinit(&stk->stk[getArg(pci, 0)], t, p1) == NULL)
     683           0 :                 return mythrow(MAL, "calc.max", SQLSTATE(HY013) MAL_MALLOC_FAIL);
     684             :         return MAL_SUCCEED;
     685             : }
     686             : 
     687             : static str
     688        8958 : CMDBATsumprod(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci,
     689             :                           gdk_return (*sumprod)(void *, int, BAT *, BAT *, bool, bool),
     690             :                           const char *func)
     691             : {
     692        8958 :         ValPtr ret = &stk->stk[getArg(pci, 0)];
     693        8958 :         bat bid = *getArgReference_bat(stk, pci, 1);
     694        8958 :         BAT *b;
     695        8958 :         BAT *s = NULL;
     696        8958 :         bool nil_if_empty = true;
     697        8958 :         gdk_return r;
     698             : 
     699        8958 :         if ((b = BATdescriptor(bid)) == NULL)
     700           0 :                 throw(MAL, func, SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
     701        8964 :         if (pci->argc >= 3) {
     702           0 :                 if (getArgType(mb, pci, 2) == TYPE_bit) {
     703           0 :                         assert(pci->argc == 3);
     704           0 :                         nil_if_empty = *getArgReference_bit(stk, pci, 2);
     705             :                 } else {
     706           0 :                         bat sid = *getArgReference_bat(stk, pci, 2);
     707           0 :                         if (!is_bat_nil(sid) && (s = BATdescriptor(sid)) == NULL) {
     708           0 :                                 BBPunfix(b->batCacheid);
     709           0 :                                 throw(MAL, func, SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
     710             :                         }
     711           0 :                         if (pci->argc >= 4) {
     712           0 :                                 assert(pci->argc == 4);
     713           0 :                                 assert(getArgType(mb, pci, 3) == TYPE_bit);
     714           0 :                                 nil_if_empty = *getArgReference_bit(stk, pci, 3);
     715             :                         }
     716             :                 }
     717             :         }
     718        8964 :         r = (*sumprod) (VALget(ret), ret->vtype, b, s, true, nil_if_empty);
     719        8957 :         BBPunfix(b->batCacheid);
     720        8967 :         BBPreclaim(s);
     721        8965 :         if (r != GDK_SUCCEED)
     722          29 :                 return mythrow(MAL, func, OPERATION_FAILED);
     723             :         return MAL_SUCCEED;
     724             : }
     725             : 
     726             : 
     727             : static str
     728        8912 : CMDBATsum(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     729             : {
     730        8912 :         (void) cntxt;
     731             : 
     732        8912 :         return CMDBATsumprod(mb, stk, pci, BATsum, "aggr.sum");
     733             : }
     734             : 
     735             : 
     736             : static str
     737          49 : CMDBATprod(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     738             : {
     739          49 :         (void) cntxt;
     740             : 
     741          49 :         return CMDBATsumprod(mb, stk, pci, BATprod, "aggr.prod");
     742             : }
     743             : 
     744             : #define arg_type(stk, pci, k) ((stk)->stk[pci->argv[k]].vtype)
     745             : 
     746             : static str
     747         198 : CMDBATavg3(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     748             : {
     749         198 :         ValPtr ret = &stk->stk[getArg(pci, 0)];
     750         198 :         lng *rest = NULL, *cnt = NULL;
     751         198 :         bat *bid, *sid;
     752         198 :         bit *skip_nils;
     753         198 :         BAT *b = NULL, *s = NULL, *avgs, *cnts, *rems;
     754             : 
     755         198 :         (void) cntxt;
     756         198 :         (void) mb;
     757             : 
     758             :         /* optional results rest and count */
     759         198 :         if (arg_type(stk, pci, 1) == TYPE_lng)
     760         198 :                 rest = getArgReference_lng(stk, pci, 1);
     761         198 :         if (arg_type(stk, pci, 2) == TYPE_lng)
     762         199 :                 cnt = getArgReference_lng(stk, pci, 2);
     763         198 :         bid = getArgReference_bat(stk, pci, 3);
     764         198 :         sid = getArgReference_bat(stk, pci, 4);
     765         198 :         skip_nils = getArgReference_bit(stk, pci, 5);
     766         198 :         b = BATdescriptor(*bid);
     767         199 :         s = sid != NULL && !is_bat_nil(*sid) ? BATdescriptor(*sid) : NULL;
     768         199 :         if (b == NULL || (sid != NULL && !is_bat_nil(*sid) && s == NULL)) {
     769           0 :                 BBPreclaim(b);
     770           0 :                 throw(MAL, "aggr.avg", SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
     771             :         }
     772         199 :         if (BATgroupavg3(&avgs, &rems, &cnts, b, NULL, NULL, s, *skip_nils) != GDK_SUCCEED)
     773           0 :                 return mythrow(MAL, "aggr.avg", GDK_EXCEPTION);
     774         199 :         if (avgs && BATcount(avgs) == 1) {
     775             :                 /* only type bte, sht, int, lng and hge */
     776         199 :                 ptr res = VALget(ret);
     777         199 :                 lng xcnt = 0;
     778             : 
     779         199 :                 if (avgs->ttype == TYPE_bte) {
     780          16 :                         *(bte *) res = *(bte *) Tloc(avgs, 0);
     781             :                 } else if (avgs->ttype == TYPE_sht) {
     782           1 :                         *(sht *) res = *(sht *) Tloc(avgs, 0);
     783             :                 } else if (avgs->ttype == TYPE_int) {
     784         155 :                         *(int *) res = *(int *) Tloc(avgs, 0);
     785             :                 } else if (avgs->ttype == TYPE_lng) {
     786          21 :                         *(lng *) res = *(lng *) Tloc(avgs, 0);
     787             : #ifdef HAVE_HGE
     788             :                 } else if (avgs->ttype == TYPE_hge) {
     789           6 :                         *(hge *) res = *(hge *) Tloc(avgs, 0);
     790             : #endif
     791             :                 }
     792         199 :                 if (cnt)
     793         199 :                         xcnt = *cnt = *(lng *) Tloc(cnts, 0);
     794         199 :                 if (rest)
     795         199 :                         *rest = *(lng *) Tloc(rems, 0);
     796         199 :                 if (xcnt == 0)
     797          12 :                         VALset(ret, ret->vtype, (ptr) ATOMnilptr(ret->vtype));
     798             :         } else {
     799           0 :                 VALset(ret, ret->vtype, (ptr) ATOMnilptr(ret->vtype));
     800           0 :                 if (rest)
     801           0 :                         *rest = lng_nil;
     802           0 :                 if (cnt)
     803           0 :                         *cnt = lng_nil;
     804             :         }
     805         199 :         BBPreclaim(avgs);
     806         199 :         BBPreclaim(rems);
     807         199 :         BBPreclaim(cnts);
     808         199 :         BBPunfix(b->batCacheid);
     809         199 :         BBPreclaim(s);
     810             :         return MAL_SUCCEED;
     811             : }
     812             : 
     813             : static str
     814          21 : CMDBATavg3comb(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     815             : {
     816          21 :         ValPtr ret = &stk->stk[getArg(pci, 0)];
     817          21 :         BAT *b = NULL, *r = NULL, *c = NULL, *avgs;
     818          21 :         bat *bid = getArgReference_bat(stk, pci, 1);
     819          21 :         bat *rid = getArgReference_bat(stk, pci, 2);
     820          21 :         bat *cid = getArgReference_bat(stk, pci, 3);
     821             : 
     822          21 :         (void) cntxt;
     823          21 :         (void) mb;
     824             : 
     825          21 :         b = BATdescriptor(*bid);
     826          21 :         r = BATdescriptor(*rid);
     827          21 :         c = BATdescriptor(*cid);
     828          21 :         if (b == NULL || r == NULL || c == NULL) {
     829           0 :                 BBPreclaim(b);
     830           0 :                 BBPreclaim(r);
     831           0 :                 BBPreclaim(c);
     832           0 :                 throw(MAL, "aggr.avg", SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
     833             :         }
     834          21 :         avgs = BATgroupavg3combine(b, r, c, NULL, NULL, TRUE);
     835          21 :         if (avgs && BATcount(avgs) == 1) {
     836             :                 /* only type bte, sht, int, lng and hge */
     837          21 :                 ptr res = VALget(ret);
     838             : 
     839          21 :                 if (avgs->ttype == TYPE_bte) {
     840           2 :                         *(bte *) res = *(bte *) Tloc(avgs, 0);
     841             :                 } else if (avgs->ttype == TYPE_sht) {
     842           0 :                         *(sht *) res = *(sht *) Tloc(avgs, 0);
     843             :                 } else if (avgs->ttype == TYPE_int) {
     844          19 :                         *(int *) res = *(int *) Tloc(avgs, 0);
     845             :                 } else if (avgs->ttype == TYPE_lng) {
     846           0 :                         *(lng *) res = *(lng *) Tloc(avgs, 0);
     847             : #ifdef HAVE_HGE
     848             :                 } else if (avgs->ttype == TYPE_hge) {
     849           0 :                         *(hge *) res = *(hge *) Tloc(avgs, 0);
     850             : #endif
     851             :                 }
     852             :         } else {
     853           0 :                 VALset(ret, ret->vtype, (ptr) ATOMnilptr(ret->vtype));
     854             :         }
     855          21 :         BBPreclaim(avgs);
     856          21 :         BBPunfix(b->batCacheid);
     857          21 :         BBPunfix(r->batCacheid);
     858          21 :         BBPunfix(c->batCacheid);
     859          21 :         if (avgs == NULL)
     860           0 :                 throw(MAL, "aggr.avg", GDK_EXCEPTION);
     861             :         return MAL_SUCCEED;
     862             : }
     863             : 
     864             : static str
     865          56 : CMDBATstr_group_concat(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
     866             : {
     867          56 :         ValPtr ret = &stk->stk[getArg(pci, 0)];
     868          56 :         bat bid = *getArgReference_bat(stk, pci, 1), sid = 0;
     869          56 :         BAT *b, *s = NULL, *sep = NULL;
     870          56 :         bool nil_if_empty = true;
     871          56 :         int next_argument = 2;
     872          56 :         const char *separator = ",";
     873          56 :         gdk_return r;
     874             : 
     875          56 :         (void) cntxt;
     876             : 
     877          56 :         if ((b = BATdescriptor(bid)) == NULL)
     878           0 :                 throw(MAL, "aggr.str_group_concat",
     879             :                           SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
     880             : 
     881          56 :         if (isaBatType(getArgType(mb, pci, 2))) {
     882          16 :                 sid = *getArgReference_bat(stk, pci, 2);
     883          16 :                 if ((sep = BATdescriptor(sid)) == NULL) {
     884           0 :                         BBPunfix(b->batCacheid);
     885           0 :                         throw(MAL, "aggr.str_group_concat",
     886             :                                   SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
     887             :                 }
     888          16 :                 if (sep->ttype == TYPE_str) {        /* the separator bat */
     889          16 :                         next_argument = 3;
     890          16 :                         separator = NULL;
     891             :                 }
     892             :         }
     893             : 
     894          56 :         if (pci->argc >= (next_argument + 1)) {
     895           0 :                 if (getArgType(mb, pci, next_argument) == TYPE_bit) {
     896           0 :                         assert(pci->argc == (next_argument + 1));
     897           0 :                         nil_if_empty = *getArgReference_bit(stk, pci, next_argument);
     898             :                 } else {
     899           0 :                         if (next_argument == 3) {
     900           0 :                                 bat sid = *getArgReference_bat(stk, pci, next_argument);
     901           0 :                                 if (!is_bat_nil(sid) && (s = BATdescriptor(sid)) == NULL) {
     902           0 :                                         BBPunfix(b->batCacheid);
     903           0 :                                         BBPunfix(sep->batCacheid);
     904           0 :                                         throw(MAL, "aggr.str_group_concat",
     905             :                                                   SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
     906             :                                 }
     907             :                         } else {
     908             :                                 s = sep;
     909             :                                 sep = NULL;
     910             :                         }
     911           0 :                         if (pci->argc >= (next_argument + 2)) {
     912           0 :                                 assert(pci->argc == (next_argument + 2));
     913           0 :                                 assert(getArgType(mb, pci, (next_argument + 1)) == TYPE_bit);
     914           0 :                                 nil_if_empty = *getArgReference_bit(stk, pci, (next_argument + 1));
     915             :                         }
     916             :                 }
     917             :         }
     918             : 
     919          56 :         assert((separator && !sep) || (!separator && sep));
     920          56 :         r = BATstr_group_concat(ret, b, s, sep, true, nil_if_empty, separator);
     921          56 :         BBPunfix(b->batCacheid);
     922          56 :         BBPreclaim(sep);
     923          56 :         BBPreclaim(s);
     924          56 :         if (r != GDK_SUCCEED)
     925           0 :                 return mythrow(MAL, "aggr.str_group_concat", OPERATION_FAILED);
     926             :         return MAL_SUCCEED;
     927             : }
     928             : 
     929             : #include "mel.h"
     930             : mel_func calc_init_funcs[] = {
     931             : #ifdef HAVE_HGE
     932             :  pattern("calc", "iszero", CMDvarISZERO, false, "Unary check for zero of V", args(1,2, arg("",bit),arg("v",hge))),
     933             :  pattern("calc", "not", CMDvarNOT, false, "Unary bitwise not of V", args(1,2, arg("",hge),arg("v",hge))),
     934             :  pattern("calc", "sign", CMDvarSIGN, false, "Unary sign (-1,0,1) of V", args(1,2, arg("",bte),arg("v",hge))),
     935             :  pattern("calc", "abs", CMDvarABS, false, "Unary absolute value of V", args(1,2, arg("",hge),arg("v",hge))),
     936             :  pattern("calc", "-", CMDvarNEG, false, "Unary negation of V", args(1,2, arg("",hge),arg("v",hge))),
     937             :  pattern("calc", "++", CMDvarINCR, false, "Unary V + 1", args(1,2, arg("",hge),arg("v",hge))),
     938             :  pattern("calc", "--", CMDvarDECR, false, "Unary V - 1", args(1,2, arg("",hge),arg("v",hge))),
     939             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",bte))),
     940             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",sht))),
     941             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",int))),
     942             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",lng))),
     943             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",hge))),
     944             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",hge))),
     945             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",bte),arg("v2",hge))),
     946             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",bte))),
     947             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",sht))),
     948             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",int))),
     949             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",lng))),
     950             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",hge))),
     951             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",hge))),
     952             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",sht),arg("v2",hge))),
     953             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",bte))),
     954             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",sht))),
     955             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",int))),
     956             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",lng))),
     957             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",hge))),
     958             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",hge))),
     959             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",int),arg("v2",hge))),
     960             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",bte))),
     961             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",sht))),
     962             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",int))),
     963             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",lng))),
     964             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",hge))),
     965             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",hge))),
     966             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",lng),arg("v2",hge))),
     967             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",bte))),
     968             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",bte))),
     969             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",bte))),
     970             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",sht))),
     971             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",sht))),
     972             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",sht))),
     973             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",int))),
     974             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",int))),
     975             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",int))),
     976             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",lng))),
     977             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",lng))),
     978             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",lng))),
     979             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",hge))),
     980             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",hge))),
     981             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
     982             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",flt))),
     983             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",hge),arg("v2",flt))),
     984             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",dbl))),
     985             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",hge))),
     986             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",hge))),
     987             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",hge))),
     988             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",bte))),
     989             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",sht))),
     990             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",int))),
     991             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",lng))),
     992             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",hge))),
     993             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",hge))),
     994             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",bte),arg("v2",hge))),
     995             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",bte))),
     996             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",sht))),
     997             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",int))),
     998             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",lng))),
     999             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",hge))),
    1000             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",hge))),
    1001             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",sht),arg("v2",hge))),
    1002             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",bte))),
    1003             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",sht))),
    1004             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",int))),
    1005             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",lng))),
    1006             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",hge))),
    1007             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",hge))),
    1008             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",int),arg("v2",hge))),
    1009             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",bte))),
    1010             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",sht))),
    1011             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",int))),
    1012             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",lng))),
    1013             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",hge))),
    1014             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",hge))),
    1015             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",lng),arg("v2",hge))),
    1016             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",bte))),
    1017             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",bte))),
    1018             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",bte))),
    1019             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",sht))),
    1020             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",sht))),
    1021             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",sht))),
    1022             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",int))),
    1023             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",int))),
    1024             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",int))),
    1025             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",lng))),
    1026             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",lng))),
    1027             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",lng))),
    1028             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",hge))),
    1029             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",hge))),
    1030             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1031             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",flt))),
    1032             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",hge),arg("v2",flt))),
    1033             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",dbl))),
    1034             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",hge))),
    1035             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",hge))),
    1036             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",hge))),
    1037             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",bte))),
    1038             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",sht))),
    1039             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",int))),
    1040             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",bte),arg("v2",lng))),
    1041             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",hge))),
    1042             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",hge))),
    1043             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",bte),arg("v2",hge))),
    1044             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",bte))),
    1045             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",sht))),
    1046             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",int))),
    1047             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",sht),arg("v2",lng))),
    1048             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",hge))),
    1049             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",hge))),
    1050             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",sht),arg("v2",hge))),
    1051             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",bte))),
    1052             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",sht))),
    1053             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",int))),
    1054             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",int),arg("v2",lng))),
    1055             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",hge))),
    1056             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",hge))),
    1057             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",int),arg("v2",hge))),
    1058             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",bte))),
    1059             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",sht))),
    1060             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",int))),
    1061             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",hge),arg("v1",lng),arg("v2",lng))),
    1062             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",hge))),
    1063             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",hge))),
    1064             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",lng),arg("v2",hge))),
    1065             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",bte))),
    1066             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",bte))),
    1067             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",bte))),
    1068             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",sht))),
    1069             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",sht))),
    1070             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",sht))),
    1071             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",int))),
    1072             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",int))),
    1073             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",int))),
    1074             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",lng))),
    1075             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",lng))),
    1076             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",lng))),
    1077             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",hge))),
    1078             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",hge),arg("v2",hge))),
    1079             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1080             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",flt))),
    1081             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",hge),arg("v2",flt))),
    1082             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",dbl))),
    1083             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",hge))),
    1084             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",hge))),
    1085             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",hge))),
    1086             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",hge),arg("v2",flt))),
    1087             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",hge),arg("v2",flt))),
    1088             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",hge),arg("v2",flt))),
    1089             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",hge),arg("v2",flt))),
    1090             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",bte),arg("v2",flt))),
    1091             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",sht),arg("v2",flt))),
    1092             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",int),arg("v2",flt))),
    1093             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",lng),arg("v2",flt))),
    1094             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",flt))),
    1095             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",flt),arg("v2",hge))),
    1096             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",flt),arg("v2",hge))),
    1097             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",flt),arg("v2",hge))),
    1098             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",flt),arg("v2",hge))),
    1099             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",flt),arg("v2",bte))),
    1100             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",flt),arg("v2",sht))),
    1101             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",flt),arg("v2",int))),
    1102             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",flt),arg("v2",lng))),
    1103             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",flt),arg("v2",hge))),
    1104             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",hge),arg("v2",dbl))),
    1105             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",hge),arg("v2",dbl))),
    1106             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",hge),arg("v2",dbl))),
    1107             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",hge),arg("v2",dbl))),
    1108             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",bte),arg("v2",dbl))),
    1109             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",sht),arg("v2",dbl))),
    1110             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",int),arg("v2",dbl))),
    1111             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",lng),arg("v2",dbl))),
    1112             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",hge),arg("v2",dbl))),
    1113             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",hge))),
    1114             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",dbl),arg("v2",hge))),
    1115             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",dbl),arg("v2",hge))),
    1116             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",dbl),arg("v2",hge))),
    1117             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",dbl),arg("v2",bte))),
    1118             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",dbl),arg("v2",sht))),
    1119             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",dbl),arg("v2",int))),
    1120             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",dbl),arg("v2",lng))),
    1121             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",hge),arg("v1",dbl),arg("v2",hge))),
    1122             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",bte))),
    1123             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",sht))),
    1124             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",int))),
    1125             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",lng))),
    1126             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",hge))),
    1127             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",bte),arg("v2",hge))),
    1128             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",hge))),
    1129             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",hge))),
    1130             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",hge))),
    1131             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",hge))),
    1132             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",hge))),
    1133             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",flt))),
    1134             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",dbl))),
    1135             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",bte))),
    1136             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",sht))),
    1137             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",int))),
    1138             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",lng))),
    1139             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",hge))),
    1140             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",sht),arg("v2",hge))),
    1141             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",hge))),
    1142             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",hge))),
    1143             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",hge))),
    1144             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",hge))),
    1145             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",flt))),
    1146             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",dbl))),
    1147             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",bte))),
    1148             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",sht))),
    1149             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",int))),
    1150             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",lng))),
    1151             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",int),arg("v2",hge))),
    1152             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",int),arg("v2",hge))),
    1153             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",hge))),
    1154             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",hge))),
    1155             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",hge))),
    1156             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",flt))),
    1157             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",dbl))),
    1158             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",bte))),
    1159             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",sht))),
    1160             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",int))),
    1161             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",lng))),
    1162             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",hge))),
    1163             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",lng),arg("v2",hge))),
    1164             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",hge))),
    1165             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",hge))),
    1166             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",flt))),
    1167             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",dbl))),
    1168             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",bte))),
    1169             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",hge),arg("v2",bte))),
    1170             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",bte))),
    1171             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",sht))),
    1172             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",hge),arg("v2",sht))),
    1173             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",sht))),
    1174             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",int))),
    1175             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",hge),arg("v2",int))),
    1176             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",int))),
    1177             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",lng))),
    1178             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",hge),arg("v2",lng))),
    1179             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",lng))),
    1180             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",hge))),
    1181             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",hge),arg("v2",hge))),
    1182             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1183             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",flt))),
    1184             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",hge),arg("v2",flt))),
    1185             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",flt))),
    1186             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",dbl))),
    1187             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",hge),arg("v2",dbl))),
    1188             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",dbl))),
    1189             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",hge))),
    1190             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",hge))),
    1191             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",hge))),
    1192             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",flt),arg("v2",hge))),
    1193             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",dbl),arg("v2",hge))),
    1194             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",bte))),
    1195             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",sht))),
    1196             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",int))),
    1197             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",lng))),
    1198             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",bte),arg("v2",hge))),
    1199             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",hge))),
    1200             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",hge))),
    1201             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",hge))),
    1202             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",hge))),
    1203             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",bte))),
    1204             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",sht))),
    1205             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",int))),
    1206             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",lng))),
    1207             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",sht),arg("v2",hge))),
    1208             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",hge))),
    1209             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",hge))),
    1210             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",hge))),
    1211             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",bte))),
    1212             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",sht))),
    1213             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",int))),
    1214             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",lng))),
    1215             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",int),arg("v2",hge))),
    1216             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",hge))),
    1217             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",hge))),
    1218             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",bte))),
    1219             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",sht))),
    1220             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",int))),
    1221             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",lng))),
    1222             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",lng),arg("v2",hge))),
    1223             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",hge))),
    1224             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",bte))),
    1225             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",hge),arg("v2",bte))),
    1226             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",hge),arg("v2",bte))),
    1227             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",hge),arg("v2",bte))),
    1228             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",hge),arg("v2",bte))),
    1229             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",sht))),
    1230             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",hge),arg("v2",sht))),
    1231             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",hge),arg("v2",sht))),
    1232             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",hge),arg("v2",sht))),
    1233             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",int))),
    1234             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",hge),arg("v2",int))),
    1235             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",hge),arg("v2",int))),
    1236             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",lng))),
    1237             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",hge),arg("v2",lng))),
    1238             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1239             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",hge),arg("v2",flt))),
    1240             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",hge),arg("v2",dbl))),
    1241             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",hge))),
    1242             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",hge))),
    1243             :  pattern("calc", "and", CMDvarAND, false, "Return V1 AND V2", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1244             :  pattern("calc", "or", CMDvarOR, false, "Return V1 OR V2", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1245             :  pattern("calc", "xor", CMDvarXOR, false, "Return V1 XOR V2", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1246             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",hge))),
    1247             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",hge))),
    1248             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",hge))),
    1249             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",hge))),
    1250             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",bte))),
    1251             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",sht))),
    1252             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",int))),
    1253             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",lng))),
    1254             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1255             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",hge))),
    1256             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",hge))),
    1257             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",hge))),
    1258             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",hge))),
    1259             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",bte))),
    1260             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",sht))),
    1261             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",int))),
    1262             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",lng))),
    1263             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",hge),arg("v1",hge),arg("v2",hge))),
    1264             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",hge))),
    1265             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",hge))),
    1266             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",hge))),
    1267             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",hge))),
    1268             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",bte))),
    1269             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",sht))),
    1270             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",int))),
    1271             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",lng))),
    1272             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",hge))),
    1273             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",flt))),
    1274             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",dbl))),
    1275             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",hge))),
    1276             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",hge))),
    1277             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",hge))),
    1278             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",hge))),
    1279             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",hge))),
    1280             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",hge))),
    1281             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",bte))),
    1282             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",sht))),
    1283             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",int))),
    1284             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",lng))),
    1285             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",hge))),
    1286             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",flt))),
    1287             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",dbl))),
    1288             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",hge))),
    1289             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",hge))),
    1290             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",hge))),
    1291             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",hge))),
    1292             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",hge))),
    1293             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",hge))),
    1294             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",bte))),
    1295             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",sht))),
    1296             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",int))),
    1297             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",lng))),
    1298             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",hge))),
    1299             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",flt))),
    1300             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",dbl))),
    1301             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",hge))),
    1302             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",hge))),
    1303             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",hge))),
    1304             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",hge))),
    1305             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",hge))),
    1306             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",hge))),
    1307             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",bte))),
    1308             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",sht))),
    1309             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",int))),
    1310             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",lng))),
    1311             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",hge))),
    1312             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",flt))),
    1313             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",dbl))),
    1314             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",hge))),
    1315             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",hge))),
    1316             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",hge))),
    1317             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",hge),arg("nil_matches",bit))),
    1318             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",hge))),
    1319             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",hge),arg("nil_matches",bit))),
    1320             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",hge))),
    1321             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",hge),arg("nil_matches",bit))),
    1322             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",hge))),
    1323             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",hge),arg("nil_matches",bit))),
    1324             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",bte))),
    1325             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",bte),arg("nil_matches",bit))),
    1326             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",sht))),
    1327             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",sht),arg("nil_matches",bit))),
    1328             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",int))),
    1329             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",int),arg("nil_matches",bit))),
    1330             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",lng))),
    1331             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",lng),arg("nil_matches",bit))),
    1332             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",hge))),
    1333             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",hge),arg("nil_matches",bit))),
    1334             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",flt))),
    1335             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",flt),arg("nil_matches",bit))),
    1336             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",dbl))),
    1337             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",dbl),arg("nil_matches",bit))),
    1338             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",hge))),
    1339             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",hge),arg("nil_matches",bit))),
    1340             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",hge))),
    1341             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",hge),arg("nil_matches",bit))),
    1342             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",hge))),
    1343             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",hge),arg("nil_matches",bit))),
    1344             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",hge))),
    1345             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",hge),arg("nil_matches",bit))),
    1346             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",hge))),
    1347             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",hge),arg("nil_matches",bit))),
    1348             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",hge))),
    1349             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",hge),arg("nil_matches",bit))),
    1350             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",bte))),
    1351             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",bte),arg("nil_matches",bit))),
    1352             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",sht))),
    1353             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",sht),arg("nil_matches",bit))),
    1354             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",int))),
    1355             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",int),arg("nil_matches",bit))),
    1356             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",lng))),
    1357             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",lng),arg("nil_matches",bit))),
    1358             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",hge))),
    1359             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",hge),arg("nil_matches",bit))),
    1360             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",flt))),
    1361             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",flt),arg("nil_matches",bit))),
    1362             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",hge),arg("v2",dbl))),
    1363             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",hge),arg("v2",dbl),arg("nil_matches",bit))),
    1364             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",hge))),
    1365             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",hge),arg("nil_matches",bit))),
    1366             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",hge))),
    1367             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",hge),arg("nil_matches",bit))),
    1368             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",hge))),
    1369             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",sht),arg("v2",hge))),
    1370             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",int),arg("v2",hge))),
    1371             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",lng),arg("v2",hge))),
    1372             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",hge),arg("v2",bte))),
    1373             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",hge),arg("v2",sht))),
    1374             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",hge),arg("v2",int))),
    1375             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",hge),arg("v2",lng))),
    1376             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",hge),arg("v2",hge))),
    1377             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",hge),arg("v2",flt))),
    1378             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",hge),arg("v2",dbl))),
    1379             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",flt),arg("v2",hge))),
    1380             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",hge))),
    1381             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",hge))),
    1382             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",hge))),
    1383             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",hge))),
    1384             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",hge))),
    1385             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",hge))),
    1386             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",hge))),
    1387             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",void))),
    1388             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",bit))),
    1389             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",bte))),
    1390             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",sht))),
    1391             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",int))),
    1392             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",lng))),
    1393             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",hge))),
    1394             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",flt))),
    1395             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",dbl))),
    1396             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",oid))),
    1397             :  pattern("calc", "hge", CMDvarCONVERT, false, "Cast VALUE to hge", args(1,2, arg("",hge),arg("v",str))),
    1398             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",hge))),
    1399             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",hge))),
    1400             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",hge))),
    1401             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",hge),batarg("b",msk))),
    1402             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",hge),batarg("b",msk),arg("nil_if_empty",bit))),
    1403             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",hge),batarg("b",msk),batarg("s",oid))),
    1404             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",hge),batarg("b",msk),batarg("s",oid),arg("nil_if_empty",bit))),
    1405             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",hge),batarg("b",bte))),
    1406             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",hge),batarg("b",bte),arg("nil_if_empty",bit))),
    1407             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",hge),batarg("b",bte),batarg("s",oid))),
    1408             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",hge),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    1409             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",hge),batarg("b",sht))),
    1410             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",hge),batarg("b",sht),arg("nil_if_empty",bit))),
    1411             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",hge),batarg("b",sht),batarg("s",oid))),
    1412             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",hge),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    1413             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",hge),batarg("b",int))),
    1414             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",hge),batarg("b",int),arg("nil_if_empty",bit))),
    1415             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",hge),batarg("b",int),batarg("s",oid))),
    1416             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",hge),batarg("b",int),batarg("s",oid),arg("nil_if_empty",bit))),
    1417             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",hge),batarg("b",lng))),
    1418             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",hge),batarg("b",lng),arg("nil_if_empty",bit))),
    1419             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",hge),batarg("b",lng),batarg("s",oid))),
    1420             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",hge),batarg("b",lng),batarg("s",oid),arg("nil_if_empty",bit))),
    1421             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",hge),batarg("b",hge))),
    1422             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",hge),batarg("b",hge),arg("nil_if_empty",bit))),
    1423             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",hge),batarg("b",hge),batarg("s",oid))),
    1424             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",hge),batarg("b",hge),batarg("s",oid),arg("nil_if_empty",bit))),
    1425             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",dbl),batarg("b",hge))),
    1426             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",dbl),batarg("b",hge),arg("nil_if_empty",bit))),
    1427             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",dbl),batarg("b",hge),batarg("s",oid))),
    1428             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",dbl),batarg("b",hge),batarg("s",oid),arg("nil_if_empty",bit))),
    1429             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",hge),batarg("b",bte))),
    1430             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",hge),batarg("b",bte),arg("nil_if_empty",bit))),
    1431             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",hge),batarg("b",bte),batarg("s",oid))),
    1432             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",hge),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    1433             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",hge),batarg("b",sht))),
    1434             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",hge),batarg("b",sht),arg("nil_if_empty",bit))),
    1435             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",hge),batarg("b",sht),batarg("s",oid))),
    1436             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",hge),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    1437             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",hge),batarg("b",int))),
    1438             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",hge),batarg("b",int),arg("nil_if_empty",bit))),
    1439             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",hge),batarg("b",int),batarg("s",oid))),
    1440             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",hge),batarg("b",int),batarg("s",oid),arg("nil_if_empty",bit))),
    1441             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",hge),batarg("b",lng))),
    1442             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",hge),batarg("b",lng),arg("nil_if_empty",bit))),
    1443             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",hge),batarg("b",lng),batarg("s",oid))),
    1444             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",hge),batarg("b",lng),batarg("s",oid),arg("nil_if_empty",bit))),
    1445             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",hge),batarg("b",hge))),
    1446             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",hge),batarg("b",hge),arg("nil_if_empty",bit))),
    1447             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",hge),batarg("b",hge),batarg("s",oid))),
    1448             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",hge),batarg("b",hge),batarg("s",oid),arg("nil_if_empty",bit))),
    1449             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",dbl),batarg("b",hge))),
    1450             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",dbl),batarg("b",hge),arg("nil_if_empty",bit))),
    1451             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",dbl),batarg("b",hge),batarg("s",oid))),
    1452             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",dbl),batarg("b",hge),batarg("s",oid),arg("nil_if_empty",bit))),
    1453             : #endif
    1454             : 
    1455             :  pattern("aggr", "avg", CMDBATavg3, false, "Calculate aggregate average of B.", args(3,6, arg("",bte),arg("",lng),arg("",lng),batarg("b",bte),batarg("s",oid),arg("skip_nils",bit))),
    1456             :  pattern("aggr", "avg", CMDBATavg3, false, "Calculate aggregate average of B.", args(3,6, arg("",sht),arg("",lng),arg("",lng),batarg("b",sht),batarg("s",oid),arg("skip_nils",bit))),
    1457             :  pattern("aggr", "avg", CMDBATavg3, false, "Calculate aggregate average of B.", args(3,6, arg("",int),arg("",lng),arg("",lng),batarg("b",int),batarg("s",oid),arg("skip_nils",bit))),
    1458             :  pattern("aggr", "avg", CMDBATavg3, false, "Calculate aggregate average of B.", args(3,6, arg("",lng),arg("",lng),arg("",lng),batarg("b",lng),batarg("s",oid),arg("skip_nils",bit))),
    1459             : #ifdef HAVE_HGE
    1460             :  pattern("aggr", "avg", CMDBATavg3, false, "Calculate aggregate average of B.", args(3,6, arg("",hge),arg("",lng),arg("",lng),batarg("b",hge),batarg("s",oid),arg("skip_nils",bit))),
    1461             : #endif
    1462             : 
    1463             :  pattern("aggr", "avg", CMDBATavg3comb, false, "Average aggregation combiner.", args(1,4, arg("",bte),batarg("b",bte),batarg("r",lng),batarg("c",lng))),
    1464             :  pattern("aggr", "avg", CMDBATavg3comb, false, "Average aggregation combiner.", args(1,4, arg("",sht),batarg("b",sht),batarg("r",lng),batarg("c",lng))),
    1465             :  pattern("aggr", "avg", CMDBATavg3comb, false, "Average aggregation combiner.", args(1,4, arg("",int),batarg("b",int),batarg("r",lng),batarg("c",lng))),
    1466             :  pattern("aggr", "avg", CMDBATavg3comb, false, "Average aggregation combiner.", args(1,4, arg("",lng),batarg("b",lng),batarg("r",lng),batarg("c",lng))),
    1467             : #ifdef HAVE_HGE
    1468             :  pattern("aggr", "avg", CMDBATavg3comb, false, "Average aggregation combiner.", args(1,4, arg("",hge),batarg("b",hge),batarg("r",lng),batarg("c",lng))),
    1469             : #endif
    1470             : 
    1471             :  /* calc ops from json */
    1472             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("l",json),arg("r",json))),
    1473             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("l",json),arg("r",json),arg("nil_matches",bit))),
    1474             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("l",json),arg("r",json))),
    1475             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("l",json),arg("r",json),arg("nil_matches",bit))),
    1476             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("l",json),arg("r",json))),
    1477             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("l",json),arg("r",json))),
    1478             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("l",json),arg("r",json))),
    1479             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("l",json),arg("r",json))),
    1480             :  /* calc ops from inet */
    1481             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("l",inet),arg("r",inet))),
    1482             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("l",inet),arg("r",inet),arg("nil_matches",bit))),
    1483             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("l",inet),arg("r",inet))),
    1484             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("l",inet),arg("r",inet),arg("nil_matches",bit))),
    1485             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("l",inet),arg("r",inet))),
    1486             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("l",inet),arg("r",inet))),
    1487             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("l",inet),arg("r",inet))),
    1488             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("l",inet),arg("r",inet))),
    1489             :  /* calc ops from uuid */
    1490             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("l",uuid),arg("r",uuid))),
    1491             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("l",uuid),arg("r",uuid),arg("nil_matches",bit))),
    1492             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("l",uuid),arg("r",uuid))),
    1493             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("l",uuid),arg("r",uuid),arg("nil_matches",bit))),
    1494             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("l",uuid),arg("r",uuid))),
    1495             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("l",uuid),arg("r",uuid))),
    1496             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("l",uuid),arg("r",uuid))),
    1497             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("l",uuid),arg("r",uuid))),
    1498             :  /* calc ops from mtime */
    1499             :  pattern("calc", "==", CMDvarEQ, false, "Equality of two dates", args(1,3, arg("",bit),arg("v",date),arg("w",date))),
    1500             :  pattern("calc", "==", CMDvarEQ, false, "Equality of two dates", args(1,4, arg("",bit),arg("v",date),arg("w",date),arg("nil_matches",bit))),
    1501             :  pattern("calc", "!=", CMDvarNE, false, "Equality of two dates", args(1,3, arg("",bit),arg("v",date),arg("w",date))),
    1502             :  pattern("calc", "!=", CMDvarNE, false, "Equality of two dates", args(1,4, arg("",bit),arg("v",date),arg("w",date),arg("nil_matches",bit))),
    1503             :  pattern("calc", "<", CMDvarLT, false, "Equality of two dates", args(1,3, arg("",bit),arg("v",date),arg("w",date))),
    1504             :  pattern("calc", "<=", CMDvarLE, false, "Equality of two dates", args(1,3, arg("",bit),arg("v",date),arg("w",date))),
    1505             :  pattern("calc", ">", CMDvarGT, false, "Equality of two dates", args(1,3, arg("",bit),arg("v",date),arg("w",date))),
    1506             :  pattern("calc", ">=", CMDvarGE, false, "Equality of two dates", args(1,3, arg("",bit),arg("v",date),arg("w",date))),
    1507             :  pattern("calc", "==", CMDvarEQ, false, "Equality of two daytimes", args(1,3, arg("",bit),arg("v",daytime),arg("w",daytime))),
    1508             :  pattern("calc", "==", CMDvarEQ, false, "Equality of two daytimes", args(1,4, arg("",bit),arg("v",daytime),arg("w",daytime),arg("nil_matches",bit))),
    1509             :  pattern("calc", "!=", CMDvarNE, false, "Equality of two daytimes", args(1,3, arg("",bit),arg("v",daytime),arg("w",daytime))),
    1510             :  pattern("calc", "!=", CMDvarNE, false, "Equality of two daytimes", args(1,4, arg("",bit),arg("v",daytime),arg("w",daytime),arg("nil_matches",bit))),
    1511             :  pattern("calc", "<", CMDvarLT, false, "Equality of two daytimes", args(1,3, arg("",bit),arg("v",daytime),arg("w",daytime))),
    1512             :  pattern("calc", "<=", CMDvarLE, false, "Equality of two daytimes", args(1,3, arg("",bit),arg("v",daytime),arg("w",daytime))),
    1513             :  pattern("calc", ">", CMDvarGT, false, "Equality of two daytimes", args(1,3, arg("",bit),arg("v",daytime),arg("w",daytime))),
    1514             :  pattern("calc", ">=", CMDvarGE, false, "Equality of two daytimes", args(1,3, arg("",bit),arg("v",daytime),arg("w",daytime))),
    1515             :  pattern("calc", "==", CMDvarEQ, false, "Equality of two timestamps", args(1,3, arg("",bit),arg("v",timestamp),arg("w",timestamp))),
    1516             :  pattern("calc", "==", CMDvarEQ, false, "Equality of two timestamps", args(1,4, arg("",bit),arg("v",timestamp),arg("w",timestamp),arg("nil_matches",bit))),
    1517             :  pattern("calc", "!=", CMDvarNE, false, "Equality of two timestamps", args(1,3, arg("",bit),arg("v",timestamp),arg("w",timestamp))),
    1518             :  pattern("calc", "!=", CMDvarNE, false, "Equality of two timestamps", args(1,4, arg("",bit),arg("v",timestamp),arg("w",timestamp),arg("nil_matches",bit))),
    1519             :  pattern("calc", "<", CMDvarLT, false, "Equality of two timestamps", args(1,3, arg("",bit),arg("v",timestamp),arg("w",timestamp))),
    1520             :  pattern("calc", "<=", CMDvarLE, false, "Equality of two timestamps", args(1,3, arg("",bit),arg("v",timestamp),arg("w",timestamp))),
    1521             :  pattern("calc", ">", CMDvarGT, false, "Equality of two timestamps", args(1,3, arg("",bit),arg("v",timestamp),arg("w",timestamp))),
    1522             :  pattern("calc", ">=", CMDvarGE, false, "Equality of two timestamps", args(1,3, arg("",bit),arg("v",timestamp),arg("w",timestamp))),
    1523             :  /* calc ops from 01_calc.mal */
    1524             :  pattern("calc", "iszero", CMDvarISZERO, false, "Unary check for zero of V", args(1,2, arg("",bit),arg("v",bte))),
    1525             :  pattern("calc", "iszero", CMDvarISZERO, false, "Unary check for zero of V", args(1,2, arg("",bit),arg("v",sht))),
    1526             :  pattern("calc", "iszero", CMDvarISZERO, false, "Unary check for zero of V", args(1,2, arg("",bit),arg("v",int))),
    1527             :  pattern("calc", "iszero", CMDvarISZERO, false, "Unary check for zero of V", args(1,2, arg("",bit),arg("v",lng))),
    1528             :  pattern("calc", "iszero", CMDvarISZERO, false, "Unary check for zero of V", args(1,2, arg("",bit),arg("v",flt))),
    1529             :  pattern("calc", "iszero", CMDvarISZERO, false, "Unary check for zero of V", args(1,2, arg("",bit),arg("v",dbl))),
    1530             :  pattern("calc", "isnil", CMDvarISNIL, false, "Unary check for nil of V", args(1,2, arg("",bit),argany("v",0))),
    1531             :  pattern("calc", "isnotnil", CMDvarISNOTNIL, false, "Unary check for notnil of V", args(1,2, arg("",bit),argany("v",0))),
    1532             :  pattern("calc", "not", CMDvarNOT, false, "Return the Boolean inverse", args(1,2, arg("",bit),arg("v",bit))),
    1533             :  pattern("calc", "not", CMDvarNOT, false, "Unary bitwise not of V", args(1,2, arg("",bte),arg("v",bte))),
    1534             :  pattern("calc", "not", CMDvarNOT, false, "Unary bitwise not of V", args(1,2, arg("",sht),arg("v",sht))),
    1535             :  pattern("calc", "not", CMDvarNOT, false, "Unary bitwise not of V", args(1,2, arg("",int),arg("v",int))),
    1536             :  pattern("calc", "not", CMDvarNOT, false, "Unary bitwise not of V", args(1,2, arg("",lng),arg("v",lng))),
    1537             :  pattern("calc", "sign", CMDvarSIGN, false, "Unary sign (-1,0,1) of V", args(1,2, arg("",bte),arg("v",bte))),
    1538             :  pattern("calc", "sign", CMDvarSIGN, false, "Unary sign (-1,0,1) of V", args(1,2, arg("",bte),arg("v",sht))),
    1539             :  pattern("calc", "sign", CMDvarSIGN, false, "Unary sign (-1,0,1) of V", args(1,2, arg("",bte),arg("v",int))),
    1540             :  pattern("calc", "sign", CMDvarSIGN, false, "Unary sign (-1,0,1) of V", args(1,2, arg("",bte),arg("v",lng))),
    1541             :  pattern("calc", "sign", CMDvarSIGN, false, "Unary sign (-1,0,1) of V", args(1,2, arg("",bte),arg("v",flt))),
    1542             :  pattern("calc", "sign", CMDvarSIGN, false, "Unary sign (-1,0,1) of V", args(1,2, arg("",bte),arg("v",dbl))),
    1543             :  pattern("calc", "abs", CMDvarABS, false, "Unary absolute value of V", args(1,2, arg("",bte),arg("v",bte))),
    1544             :  pattern("calc", "abs", CMDvarABS, false, "Unary absolute value of V", args(1,2, arg("",sht),arg("v",sht))),
    1545             :  pattern("calc", "abs", CMDvarABS, false, "Unary absolute value of V", args(1,2, arg("",int),arg("v",int))),
    1546             :  pattern("calc", "abs", CMDvarABS, false, "Unary absolute value of V", args(1,2, arg("",lng),arg("v",lng))),
    1547             :  pattern("calc", "abs", CMDvarABS, false, "Unary absolute value of V", args(1,2, arg("",flt),arg("v",flt))),
    1548             :  pattern("calc", "abs", CMDvarABS, false, "Unary absolute value of V", args(1,2, arg("",dbl),arg("v",dbl))),
    1549             :  pattern("calc", "-", CMDvarNEG, false, "Unary negation of V", args(1,2, arg("",bte),arg("v",bte))),
    1550             :  pattern("calc", "-", CMDvarNEG, false, "Unary negation of V", args(1,2, arg("",sht),arg("v",sht))),
    1551             :  pattern("calc", "-", CMDvarNEG, false, "Unary negation of V", args(1,2, arg("",int),arg("v",int))),
    1552             :  pattern("calc", "-", CMDvarNEG, false, "Unary negation of V", args(1,2, arg("",lng),arg("v",lng))),
    1553             :  pattern("calc", "-", CMDvarNEG, false, "Unary negation of V", args(1,2, arg("",flt),arg("v",flt))),
    1554             :  pattern("calc", "-", CMDvarNEG, false, "Unary negation of V", args(1,2, arg("",dbl),arg("v",dbl))),
    1555             :  pattern("calc", "++", CMDvarINCR, false, "Unary V + 1", args(1,2, arg("",bte),arg("v",bte))),
    1556             :  pattern("calc", "++", CMDvarINCR, false, "Unary V + 1", args(1,2, arg("",sht),arg("v",sht))),
    1557             :  pattern("calc", "++", CMDvarINCR, false, "Unary V + 1", args(1,2, arg("",int),arg("v",int))),
    1558             :  pattern("calc", "++", CMDvarINCR, false, "Unary V + 1", args(1,2, arg("",lng),arg("v",lng))),
    1559             :  pattern("calc", "++", CMDvarINCR, false, "Unary V + 1", args(1,2, arg("",flt),arg("v",flt))),
    1560             :  pattern("calc", "++", CMDvarINCR, false, "Unary V + 1", args(1,2, arg("",dbl),arg("v",dbl))),
    1561             :  pattern("calc", "--", CMDvarDECR, false, "Unary V - 1", args(1,2, arg("",bte),arg("v",bte))),
    1562             :  pattern("calc", "--", CMDvarDECR, false, "Unary V - 1", args(1,2, arg("",sht),arg("v",sht))),
    1563             :  pattern("calc", "--", CMDvarDECR, false, "Unary V - 1", args(1,2, arg("",int),arg("v",int))),
    1564             :  pattern("calc", "--", CMDvarDECR, false, "Unary V - 1", args(1,2, arg("",lng),arg("v",lng))),
    1565             :  pattern("calc", "--", CMDvarDECR, false, "Unary V - 1", args(1,2, arg("",flt),arg("v",flt))),
    1566             :  pattern("calc", "--", CMDvarDECR, false, "Unary V - 1", args(1,2, arg("",dbl),arg("v",dbl))),
    1567             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",bte))),
    1568             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",bte))),
    1569             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",bte))),
    1570             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",bte),arg("v2",bte))),
    1571             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",sht),arg("v1",bte),arg("v2",bte))),
    1572             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    1573             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",sht))),
    1574             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",sht))),
    1575             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",sht))),
    1576             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",bte),arg("v2",sht))),
    1577             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",bte),arg("v2",sht))),
    1578             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",int))),
    1579             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",int))),
    1580             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",int))),
    1581             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",int),arg("v1",bte),arg("v2",int))),
    1582             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",lng))),
    1583             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",lng))),
    1584             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",bte),arg("v2",lng))),
    1585             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",flt))),
    1586             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",bte),arg("v2",flt))),
    1587             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",dbl))),
    1588             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",bte))),
    1589             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",bte))),
    1590             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",bte))),
    1591             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",sht),arg("v2",bte))),
    1592             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",sht),arg("v2",bte))),
    1593             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",sht))),
    1594             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",sht))),
    1595             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",sht))),
    1596             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",sht),arg("v2",sht))),
    1597             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    1598             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",int))),
    1599             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",int))),
    1600             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",int))),
    1601             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",int),arg("v1",sht),arg("v2",int))),
    1602             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",lng))),
    1603             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",lng))),
    1604             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",sht),arg("v2",lng))),
    1605             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",flt))),
    1606             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",sht),arg("v2",flt))),
    1607             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",dbl))),
    1608             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",bte))),
    1609             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",bte))),
    1610             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",bte))),
    1611             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",bte))),
    1612             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",sht))),
    1613             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",sht))),
    1614             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",sht))),
    1615             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",sht))),
    1616             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",int))),
    1617             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",int))),
    1618             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",int))),
    1619             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    1620             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",lng))),
    1621             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",lng))),
    1622             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",int),arg("v2",lng))),
    1623             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",flt))),
    1624             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",int),arg("v2",flt))),
    1625             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",int),arg("v2",dbl))),
    1626             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",bte))),
    1627             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",bte))),
    1628             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",bte))),
    1629             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",sht))),
    1630             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",sht))),
    1631             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",sht))),
    1632             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",int))),
    1633             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",int))),
    1634             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",int))),
    1635             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",lng))),
    1636             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",lng))),
    1637             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    1638             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",flt))),
    1639             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",lng),arg("v2",flt))),
    1640             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",dbl))),
    1641             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",bte))),
    1642             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",bte))),
    1643             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",sht))),
    1644             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",sht))),
    1645             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",int))),
    1646             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",int))),
    1647             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",lng))),
    1648             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",lng))),
    1649             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",flt))),
    1650             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",flt))),
    1651             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",dbl))),
    1652             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",bte))),
    1653             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",sht))),
    1654             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",int))),
    1655             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",lng))),
    1656             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",flt))),
    1657             :  pattern("calc", "+", CMDvarADD, false, "Return V1 + V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",dbl))),
    1658             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",bte))),
    1659             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",bte))),
    1660             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",bte))),
    1661             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",bte),arg("v2",bte))),
    1662             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",sht),arg("v1",bte),arg("v2",bte))),
    1663             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    1664             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",sht))),
    1665             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",sht))),
    1666             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",sht))),
    1667             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",bte),arg("v2",sht))),
    1668             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",bte),arg("v2",sht))),
    1669             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",int))),
    1670             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",int))),
    1671             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",int))),
    1672             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",int),arg("v1",bte),arg("v2",int))),
    1673             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",lng))),
    1674             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",lng))),
    1675             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",bte),arg("v2",lng))),
    1676             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",flt))),
    1677             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",bte),arg("v2",flt))),
    1678             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",dbl))),
    1679             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",bte))),
    1680             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",bte))),
    1681             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",bte))),
    1682             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",sht),arg("v2",bte))),
    1683             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",sht),arg("v2",bte))),
    1684             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",sht))),
    1685             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",sht))),
    1686             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",sht))),
    1687             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",sht),arg("v2",sht))),
    1688             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    1689             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",int))),
    1690             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",int))),
    1691             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",int))),
    1692             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",int),arg("v1",sht),arg("v2",int))),
    1693             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",lng))),
    1694             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",lng))),
    1695             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",sht),arg("v2",lng))),
    1696             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",flt))),
    1697             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",sht),arg("v2",flt))),
    1698             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",dbl))),
    1699             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",bte))),
    1700             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",bte))),
    1701             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",bte))),
    1702             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",bte))),
    1703             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",sht))),
    1704             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",sht))),
    1705             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",sht))),
    1706             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",sht))),
    1707             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",int))),
    1708             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",int))),
    1709             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",int))),
    1710             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    1711             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",lng))),
    1712             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",lng))),
    1713             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",int),arg("v2",lng))),
    1714             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",flt))),
    1715             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",int),arg("v2",flt))),
    1716             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",int),arg("v2",dbl))),
    1717             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",bte))),
    1718             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",bte))),
    1719             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",bte))),
    1720             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",sht))),
    1721             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",sht))),
    1722             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",sht))),
    1723             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",int))),
    1724             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",int))),
    1725             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",int))),
    1726             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",lng))),
    1727             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",lng))),
    1728             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    1729             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",flt))),
    1730             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",lng),arg("v2",flt))),
    1731             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",dbl))),
    1732             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",bte))),
    1733             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",bte))),
    1734             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",sht))),
    1735             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",sht))),
    1736             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",int))),
    1737             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",int))),
    1738             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",lng))),
    1739             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",lng))),
    1740             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",flt))),
    1741             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",flt))),
    1742             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",dbl))),
    1743             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",bte))),
    1744             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",sht))),
    1745             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",int))),
    1746             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",lng))),
    1747             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",flt))),
    1748             :  pattern("calc", "-", CMDvarSUB, false, "Return V1 - V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",dbl))),
    1749             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",bte))),
    1750             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",bte))),
    1751             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",bte))),
    1752             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",bte),arg("v2",bte))),
    1753             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",sht),arg("v1",bte),arg("v2",bte))),
    1754             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    1755             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",sht))),
    1756             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",sht))),
    1757             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",sht))),
    1758             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",bte),arg("v2",sht))),
    1759             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",bte),arg("v2",sht))),
    1760             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",int))),
    1761             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",int))),
    1762             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",bte),arg("v2",int))),
    1763             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",bte),arg("v2",int))),
    1764             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",lng))),
    1765             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",bte),arg("v2",lng))),
    1766             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",bte),arg("v2",lng))),
    1767             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",flt))),
    1768             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",bte),arg("v2",flt))),
    1769             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",dbl))),
    1770             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",bte))),
    1771             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",bte))),
    1772             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",bte))),
    1773             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",sht),arg("v2",bte))),
    1774             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",sht),arg("v2",bte))),
    1775             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",sht))),
    1776             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",sht))),
    1777             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",sht))),
    1778             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",int),arg("v1",sht),arg("v2",sht))),
    1779             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    1780             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",int))),
    1781             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",int))),
    1782             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",sht),arg("v2",int))),
    1783             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",sht),arg("v2",int))),
    1784             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",lng))),
    1785             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",sht),arg("v2",lng))),
    1786             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",sht),arg("v2",lng))),
    1787             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",flt))),
    1788             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",sht),arg("v2",flt))),
    1789             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",dbl))),
    1790             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",bte))),
    1791             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",bte))),
    1792             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",bte))),
    1793             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",bte))),
    1794             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",sht))),
    1795             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",sht))),
    1796             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",sht))),
    1797             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",sht))),
    1798             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",int))),
    1799             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",int))),
    1800             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",lng),arg("v1",int),arg("v2",int))),
    1801             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    1802             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",lng))),
    1803             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",int),arg("v2",lng))),
    1804             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",int),arg("v2",lng))),
    1805             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",int),arg("v2",flt))),
    1806             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",int),arg("v2",flt))),
    1807             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",int),arg("v2",dbl))),
    1808             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",bte))),
    1809             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",bte))),
    1810             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",bte))),
    1811             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",sht))),
    1812             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",sht))),
    1813             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",sht))),
    1814             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",int))),
    1815             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",int))),
    1816             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",int))),
    1817             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",lng))),
    1818             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",flt),arg("v1",lng),arg("v2",lng))),
    1819             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    1820             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",flt))),
    1821             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",lng),arg("v2",flt))),
    1822             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",dbl))),
    1823             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",bte))),
    1824             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",bte))),
    1825             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",sht))),
    1826             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",sht))),
    1827             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",int))),
    1828             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",int))),
    1829             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",lng))),
    1830             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",lng))),
    1831             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, guarantee no overflow by returning larger type", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",flt))),
    1832             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",flt),arg("v1",flt),arg("v2",flt))),
    1833             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",dbl))),
    1834             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",bte))),
    1835             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",sht))),
    1836             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",int))),
    1837             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",lng))),
    1838             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",flt))),
    1839             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",dbl))),
    1840             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",bte),arg("v2",flt))),
    1841             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",sht),arg("v2",flt))),
    1842             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",bte),arg("v2",flt))),
    1843             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",sht),arg("v2",flt))),
    1844             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",int),arg("v2",flt))),
    1845             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",int),arg("v2",flt))),
    1846             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",bte),arg("v2",flt))),
    1847             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",sht),arg("v2",flt))),
    1848             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",flt))),
    1849             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",lng),arg("v2",flt))),
    1850             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",lng),arg("v2",flt))),
    1851             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",lng),arg("v2",flt))),
    1852             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",bte),arg("v2",flt))),
    1853             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",sht),arg("v2",flt))),
    1854             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",int),arg("v2",flt))),
    1855             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",flt))),
    1856             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",flt),arg("v2",bte))),
    1857             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",flt),arg("v2",sht))),
    1858             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",flt),arg("v2",bte))),
    1859             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",flt),arg("v2",sht))),
    1860             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",flt),arg("v2",int))),
    1861             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",flt),arg("v2",int))),
    1862             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",flt),arg("v2",bte))),
    1863             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",flt),arg("v2",sht))),
    1864             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",flt),arg("v2",int))),
    1865             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",flt),arg("v2",lng))),
    1866             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",flt),arg("v2",lng))),
    1867             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",flt),arg("v2",lng))),
    1868             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",flt),arg("v2",bte))),
    1869             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",flt),arg("v2",sht))),
    1870             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",flt),arg("v2",int))),
    1871             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",flt),arg("v2",lng))),
    1872             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",bte),arg("v2",dbl))),
    1873             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",sht),arg("v2",dbl))),
    1874             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",bte),arg("v2",dbl))),
    1875             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",sht),arg("v2",dbl))),
    1876             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",int),arg("v2",dbl))),
    1877             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",int),arg("v2",dbl))),
    1878             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",bte),arg("v2",dbl))),
    1879             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",sht),arg("v2",dbl))),
    1880             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",int),arg("v2",dbl))),
    1881             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",lng),arg("v2",dbl))),
    1882             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",lng),arg("v2",dbl))),
    1883             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",lng),arg("v2",dbl))),
    1884             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",bte),arg("v2",dbl))),
    1885             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",sht),arg("v2",dbl))),
    1886             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",int),arg("v2",dbl))),
    1887             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",lng),arg("v2",dbl))),
    1888             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",bte))),
    1889             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",sht))),
    1890             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",dbl),arg("v2",bte))),
    1891             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",dbl),arg("v2",sht))),
    1892             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",int))),
    1893             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",dbl),arg("v2",int))),
    1894             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",dbl),arg("v2",bte))),
    1895             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",dbl),arg("v2",sht))),
    1896             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",dbl),arg("v2",int))),
    1897             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",lng))),
    1898             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",sht),arg("v1",dbl),arg("v2",lng))),
    1899             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",int),arg("v1",dbl),arg("v2",lng))),
    1900             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",dbl),arg("v2",bte))),
    1901             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",dbl),arg("v2",sht))),
    1902             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",dbl),arg("v2",int))),
    1903             :  pattern("calc", "*", CMDvarMUL, false, "Return V1 * V2, signal error on overflow", args(1,3, arg("",lng),arg("v1",dbl),arg("v2",lng))),
    1904             :  command("calc", "+", CMDvarADDstr, false, "Concatenate LEFT and RIGHT", args(1,3, arg("",str),arg("v1",str),arg("v2",str))),
    1905             :  command("calc", "+", CMDvarADDstrint, false, "Concatenate LEFT and string representation of RIGHT", args(1,3, arg("",str),arg("v1",str),arg("i",int))),
    1906             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",bte))),
    1907             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",bte),arg("v2",bte))),
    1908             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",bte))),
    1909             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",bte))),
    1910             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",bte))),
    1911             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    1912             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",sht))),
    1913             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",bte),arg("v2",sht))),
    1914             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",sht))),
    1915             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",sht))),
    1916             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",sht))),
    1917             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",sht))),
    1918             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",int))),
    1919             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",bte),arg("v2",int))),
    1920             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",int))),
    1921             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",int))),
    1922             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",int))),
    1923             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",int))),
    1924             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",lng))),
    1925             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",bte),arg("v2",lng))),
    1926             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",lng))),
    1927             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",lng))),
    1928             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",lng))),
    1929             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",lng))),
    1930             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",flt))),
    1931             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",bte),arg("v2",flt))),
    1932             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",flt))),
    1933             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",flt))),
    1934             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",flt))),
    1935             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",flt))),
    1936             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",dbl))),
    1937             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",bte),arg("v2",dbl))),
    1938             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",dbl))),
    1939             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",dbl))),
    1940             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",dbl))),
    1941             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",dbl))),
    1942             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",bte))),
    1943             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",sht),arg("v2",bte))),
    1944             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",bte))),
    1945             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",bte))),
    1946             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",bte))),
    1947             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",sht))),
    1948             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",sht),arg("v2",sht))),
    1949             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",sht))),
    1950             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",sht))),
    1951             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    1952             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",int))),
    1953             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",sht),arg("v2",int))),
    1954             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",int))),
    1955             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",int))),
    1956             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",int))),
    1957             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",lng))),
    1958             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",sht),arg("v2",lng))),
    1959             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",lng))),
    1960             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",lng))),
    1961             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",lng))),
    1962             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",flt))),
    1963             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",sht),arg("v2",flt))),
    1964             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",flt))),
    1965             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",flt))),
    1966             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",flt))),
    1967             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",dbl))),
    1968             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",sht),arg("v2",dbl))),
    1969             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",dbl))),
    1970             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",dbl))),
    1971             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",dbl))),
    1972             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",int),arg("v2",bte))),
    1973             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",int),arg("v2",bte))),
    1974             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",bte))),
    1975             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",bte))),
    1976             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",int),arg("v2",sht))),
    1977             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",int),arg("v2",sht))),
    1978             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",sht))),
    1979             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",sht))),
    1980             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",int),arg("v2",int))),
    1981             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",int),arg("v2",int))),
    1982             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",int))),
    1983             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    1984             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",int),arg("v2",lng))),
    1985             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",int),arg("v2",lng))),
    1986             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",lng))),
    1987             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",lng))),
    1988             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",int),arg("v2",flt))),
    1989             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",int),arg("v2",flt))),
    1990             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",flt))),
    1991             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",flt))),
    1992             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",int),arg("v2",dbl))),
    1993             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",int),arg("v2",dbl))),
    1994             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",dbl))),
    1995             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",dbl))),
    1996             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",bte))),
    1997             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",lng),arg("v2",bte))),
    1998             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",bte))),
    1999             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",sht))),
    2000             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",lng),arg("v2",sht))),
    2001             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",sht))),
    2002             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",int))),
    2003             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",lng),arg("v2",int))),
    2004             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",int))),
    2005             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",lng))),
    2006             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",lng),arg("v2",lng))),
    2007             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    2008             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",flt))),
    2009             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",lng),arg("v2",flt))),
    2010             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",flt))),
    2011             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",dbl))),
    2012             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",lng),arg("v2",dbl))),
    2013             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",dbl))),
    2014             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",bte))),
    2015             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",bte))),
    2016             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",sht))),
    2017             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",sht))),
    2018             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",int))),
    2019             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",int))),
    2020             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",lng))),
    2021             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",lng))),
    2022             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",flt))),
    2023             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",flt))),
    2024             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",dbl))),
    2025             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",dbl))),
    2026             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",bte))),
    2027             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",sht))),
    2028             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",int))),
    2029             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",lng))),
    2030             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",flt))),
    2031             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",dbl))),
    2032             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",flt),arg("v2",bte))),
    2033             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",flt),arg("v2",sht))),
    2034             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",flt),arg("v2",int))),
    2035             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",flt),arg("v2",lng))),
    2036             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",bte))),
    2037             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",dbl),arg("v2",sht))),
    2038             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",dbl),arg("v2",int))),
    2039             :  pattern("calc", "/", CMDvarDIV, false, "Return V1 / V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",dbl),arg("v2",lng))),
    2040             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",bte))),
    2041             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",bte))),
    2042             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",bte))),
    2043             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    2044             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",sht))),
    2045             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",sht))),
    2046             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",sht))),
    2047             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",sht))),
    2048             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",int))),
    2049             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",int))),
    2050             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",int))),
    2051             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",int))),
    2052             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",bte),arg("v2",lng))),
    2053             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",bte),arg("v2",lng))),
    2054             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",bte),arg("v2",lng))),
    2055             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",bte),arg("v2",lng))),
    2056             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",bte),arg("v2",flt))),
    2057             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",bte),arg("v2",dbl))),
    2058             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",bte))),
    2059             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",bte))),
    2060             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",bte))),
    2061             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",sht),arg("v2",bte))),
    2062             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",sht))),
    2063             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",sht))),
    2064             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    2065             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",int))),
    2066             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",int))),
    2067             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",int))),
    2068             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",sht),arg("v2",lng))),
    2069             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",sht),arg("v2",lng))),
    2070             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",sht),arg("v2",lng))),
    2071             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",sht),arg("v2",flt))),
    2072             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",sht),arg("v2",dbl))),
    2073             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",bte))),
    2074             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",bte))),
    2075             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",int),arg("v2",bte))),
    2076             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",int),arg("v2",bte))),
    2077             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",sht))),
    2078             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",sht))),
    2079             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",int),arg("v2",sht))),
    2080             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",int))),
    2081             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    2082             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",int),arg("v2",lng))),
    2083             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",int),arg("v2",lng))),
    2084             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",int),arg("v2",flt))),
    2085             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",int),arg("v2",dbl))),
    2086             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",bte))),
    2087             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",lng),arg("v2",bte))),
    2088             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",lng),arg("v2",bte))),
    2089             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",bte),arg("v1",lng),arg("v2",bte))),
    2090             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",sht))),
    2091             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",lng),arg("v2",sht))),
    2092             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",sht),arg("v1",lng),arg("v2",sht))),
    2093             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",int))),
    2094             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",int),arg("v1",lng),arg("v2",int))),
    2095             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    2096             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",lng),arg("v2",flt))),
    2097             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",lng),arg("v2",dbl))),
    2098             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",bte))),
    2099             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",sht))),
    2100             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",int))),
    2101             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",lng))),
    2102             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",flt),arg("v1",flt),arg("v2",flt))),
    2103             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",flt),arg("v2",dbl))),
    2104             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",bte))),
    2105             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",sht))),
    2106             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",int))),
    2107             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",lng))),
    2108             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",flt))),
    2109             :  pattern("calc", "%", CMDvarMOD, false, "Return V1 % V2, signal error on divide by zero", args(1,3, arg("",dbl),arg("v1",dbl),arg("v2",dbl))),
    2110             :  pattern("mmath", "fmod", CMDvarMOD, false, "", args(1,3, arg("",flt),arg("y",flt),arg("x",flt))),
    2111             :  pattern("mmath", "fmod", CMDvarMOD, false, "The fmod(x,y) function computes the remainder of dividing x by y.\nThe return value is x - n * y, where n is the quotient of x / y,\nrounded towards zero to an integer.", args(1,3, arg("",dbl),arg("y",dbl),arg("x",dbl))),
    2112             :  pattern("calc", "and", CMDvarAND, false, "Return V1 AND V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2113             :  pattern("calc", "and", CMDvarAND, false, "Return V1 AND V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    2114             :  pattern("calc", "and", CMDvarAND, false, "Return V1 AND V2", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    2115             :  pattern("calc", "and", CMDvarAND, false, "Return V1 AND V2", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    2116             :  pattern("calc", "and", CMDvarAND, false, "Return V1 AND V2", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    2117             :  pattern("calc", "or", CMDvarOR, false, "Return V1 OR V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2118             :  pattern("calc", "or", CMDvarOR, false, "Return V1 OR V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    2119             :  pattern("calc", "or", CMDvarOR, false, "Return V1 OR V2", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    2120             :  pattern("calc", "or", CMDvarOR, false, "Return V1 OR V2", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    2121             :  pattern("calc", "or", CMDvarOR, false, "Return V1 OR V2", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    2122             :  pattern("calc", "xor", CMDvarXOR, false, "Return V1 XOR V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2123             :  pattern("calc", "xor", CMDvarXOR, false, "Return V1 XOR V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    2124             :  pattern("calc", "xor", CMDvarXOR, false, "Return V1 XOR V2", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    2125             :  pattern("calc", "xor", CMDvarXOR, false, "Return V1 XOR V2", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    2126             :  pattern("calc", "xor", CMDvarXOR, false, "Return V1 XOR V2", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    2127             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    2128             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",sht))),
    2129             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",int))),
    2130             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",lng))),
    2131             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",bte))),
    2132             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    2133             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",int))),
    2134             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",lng))),
    2135             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",bte))),
    2136             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",sht))),
    2137             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    2138             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",lng))),
    2139             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",bte))),
    2140             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",sht))),
    2141             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",int))),
    2142             :  pattern("calc", "<<", CMDvarLSH, false, "Return V1 << V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    2143             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    2144             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",sht))),
    2145             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",int))),
    2146             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",bte),arg("v1",bte),arg("v2",lng))),
    2147             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",bte))),
    2148             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",sht))),
    2149             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",int))),
    2150             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",sht),arg("v1",sht),arg("v2",lng))),
    2151             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",bte))),
    2152             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",sht))),
    2153             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",int))),
    2154             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",int),arg("v1",int),arg("v2",lng))),
    2155             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",bte))),
    2156             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",sht))),
    2157             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",int))),
    2158             :  pattern("calc", ">>", CMDvarRSH, false, "Return V1 >> V2, raise error on out of range second operand", args(1,3, arg("",lng),arg("v1",lng),arg("v2",lng))),
    2159             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2160             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",str),arg("v2",str))),
    2161             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",blob),arg("v2",blob))),
    2162             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",oid),arg("v2",oid))),
    2163             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",bte))),
    2164             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",sht))),
    2165             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",int))),
    2166             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",lng))),
    2167             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",flt))),
    2168             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",dbl))),
    2169             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",bte))),
    2170             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",sht))),
    2171             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",int))),
    2172             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",lng))),
    2173             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",flt))),
    2174             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",dbl))),
    2175             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",bte))),
    2176             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",sht))),
    2177             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",int))),
    2178             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",lng))),
    2179             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",flt))),
    2180             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",dbl))),
    2181             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",bte))),
    2182             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",sht))),
    2183             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",int))),
    2184             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",lng))),
    2185             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",flt))),
    2186             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",dbl))),
    2187             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",bte))),
    2188             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",sht))),
    2189             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",int))),
    2190             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",lng))),
    2191             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",flt))),
    2192             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",dbl))),
    2193             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",bte))),
    2194             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",sht))),
    2195             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",int))),
    2196             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",lng))),
    2197             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",flt))),
    2198             :  pattern("calc", "<", CMDvarLT, false, "Return V1 < V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",dbl))),
    2199             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2200             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",str),arg("v2",str))),
    2201             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",blob),arg("v2",blob))),
    2202             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",oid),arg("v2",oid))),
    2203             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",bte))),
    2204             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",sht))),
    2205             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",int))),
    2206             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",lng))),
    2207             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",flt))),
    2208             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",dbl))),
    2209             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",bte))),
    2210             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",sht))),
    2211             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",int))),
    2212             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",lng))),
    2213             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",flt))),
    2214             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",dbl))),
    2215             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",bte))),
    2216             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",sht))),
    2217             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",int))),
    2218             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",lng))),
    2219             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",flt))),
    2220             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",dbl))),
    2221             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",bte))),
    2222             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",sht))),
    2223             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",int))),
    2224             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",lng))),
    2225             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",flt))),
    2226             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",dbl))),
    2227             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",bte))),
    2228             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",sht))),
    2229             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",int))),
    2230             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",lng))),
    2231             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",flt))),
    2232             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",dbl))),
    2233             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",bte))),
    2234             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",sht))),
    2235             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",int))),
    2236             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",lng))),
    2237             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",flt))),
    2238             :  pattern("calc", "<=", CMDvarLE, false, "Return V1 <= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",dbl))),
    2239             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2240             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",str),arg("v2",str))),
    2241             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",blob),arg("v2",blob))),
    2242             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",oid),arg("v2",oid))),
    2243             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",bte))),
    2244             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",sht))),
    2245             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",int))),
    2246             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",lng))),
    2247             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",flt))),
    2248             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",dbl))),
    2249             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",bte))),
    2250             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",sht))),
    2251             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",int))),
    2252             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",lng))),
    2253             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",flt))),
    2254             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",dbl))),
    2255             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",bte))),
    2256             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",sht))),
    2257             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",int))),
    2258             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",lng))),
    2259             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",flt))),
    2260             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",dbl))),
    2261             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",bte))),
    2262             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",sht))),
    2263             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",int))),
    2264             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",lng))),
    2265             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",flt))),
    2266             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",dbl))),
    2267             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",bte))),
    2268             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",sht))),
    2269             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",int))),
    2270             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",lng))),
    2271             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",flt))),
    2272             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",dbl))),
    2273             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",bte))),
    2274             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",sht))),
    2275             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",int))),
    2276             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",lng))),
    2277             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",flt))),
    2278             :  pattern("calc", ">", CMDvarGT, false, "Return V1 > V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",dbl))),
    2279             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2280             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",str),arg("v2",str))),
    2281             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",blob),arg("v2",blob))),
    2282             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",oid),arg("v2",oid))),
    2283             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",bte))),
    2284             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",sht))),
    2285             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",int))),
    2286             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",lng))),
    2287             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",flt))),
    2288             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",dbl))),
    2289             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",bte))),
    2290             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",sht))),
    2291             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",int))),
    2292             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",lng))),
    2293             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",flt))),
    2294             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",dbl))),
    2295             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",bte))),
    2296             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",sht))),
    2297             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",int))),
    2298             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",lng))),
    2299             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",flt))),
    2300             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",dbl))),
    2301             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",bte))),
    2302             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",sht))),
    2303             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",int))),
    2304             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",lng))),
    2305             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",flt))),
    2306             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",dbl))),
    2307             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",bte))),
    2308             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",sht))),
    2309             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",int))),
    2310             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",lng))),
    2311             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",flt))),
    2312             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",dbl))),
    2313             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",bte))),
    2314             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",sht))),
    2315             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",int))),
    2316             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",lng))),
    2317             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",flt))),
    2318             :  pattern("calc", ">=", CMDvarGE, false, "Return V1 >= V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",dbl))),
    2319             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2320             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",bit),arg("v2",bit),arg("nil_matches",bit))),
    2321             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",str),arg("v2",str))),
    2322             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",str),arg("v2",str),arg("nil_matches",bit))),
    2323             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",blob),arg("v2",blob))),
    2324             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",blob),arg("v2",blob),arg("nil_matches",bit))),
    2325             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",oid),arg("v2",oid))),
    2326             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",oid),arg("v2",oid),arg("nil_matches",bit))),
    2327             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",bte))),
    2328             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",bte),arg("nil_matches",bit))),
    2329             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",sht))),
    2330             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",sht),arg("nil_matches",bit))),
    2331             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",int))),
    2332             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",int),arg("nil_matches",bit))),
    2333             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",lng))),
    2334             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",lng),arg("nil_matches",bit))),
    2335             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",flt))),
    2336             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",flt),arg("nil_matches",bit))),
    2337             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",dbl))),
    2338             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",dbl),arg("nil_matches",bit))),
    2339             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",bte))),
    2340             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",bte),arg("nil_matches",bit))),
    2341             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",sht))),
    2342             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",sht),arg("nil_matches",bit))),
    2343             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",int))),
    2344             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",int),arg("nil_matches",bit))),
    2345             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",lng))),
    2346             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",lng),arg("nil_matches",bit))),
    2347             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",flt))),
    2348             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",flt),arg("nil_matches",bit))),
    2349             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",dbl))),
    2350             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",dbl),arg("nil_matches",bit))),
    2351             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",bte))),
    2352             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",bte),arg("nil_matches",bit))),
    2353             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",sht))),
    2354             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",sht),arg("nil_matches",bit))),
    2355             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",int))),
    2356             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",int),arg("nil_matches",bit))),
    2357             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",lng))),
    2358             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",lng),arg("nil_matches",bit))),
    2359             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",flt))),
    2360             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",flt),arg("nil_matches",bit))),
    2361             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",dbl))),
    2362             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",dbl),arg("nil_matches",bit))),
    2363             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",bte))),
    2364             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",bte),arg("nil_matches",bit))),
    2365             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",sht))),
    2366             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",sht),arg("nil_matches",bit))),
    2367             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",int))),
    2368             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",int),arg("nil_matches",bit))),
    2369             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",lng))),
    2370             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",lng),arg("nil_matches",bit))),
    2371             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",flt))),
    2372             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",flt),arg("nil_matches",bit))),
    2373             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",dbl))),
    2374             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",dbl),arg("nil_matches",bit))),
    2375             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",bte))),
    2376             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",bte),arg("nil_matches",bit))),
    2377             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",sht))),
    2378             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",sht),arg("nil_matches",bit))),
    2379             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",int))),
    2380             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",int),arg("nil_matches",bit))),
    2381             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",lng))),
    2382             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",lng),arg("nil_matches",bit))),
    2383             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",flt))),
    2384             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",flt),arg("nil_matches",bit))),
    2385             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",dbl))),
    2386             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",dbl),arg("nil_matches",bit))),
    2387             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",bte))),
    2388             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",bte),arg("nil_matches",bit))),
    2389             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",sht))),
    2390             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",sht),arg("nil_matches",bit))),
    2391             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",int))),
    2392             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",int),arg("nil_matches",bit))),
    2393             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",lng))),
    2394             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",lng),arg("nil_matches",bit))),
    2395             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",flt))),
    2396             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",flt),arg("nil_matches",bit))),
    2397             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",dbl))),
    2398             :  pattern("calc", "==", CMDvarEQ, false, "Return V1 == V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",dbl),arg("nil_matches",bit))),
    2399             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",bit),arg("v2",bit))),
    2400             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",bit),arg("v2",bit),arg("nil_matches",bit))),
    2401             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",str),arg("v2",str))),
    2402             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",str),arg("v2",str),arg("nil_matches",bit))),
    2403             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",blob),arg("v2",blob))),
    2404             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",blob),arg("v2",blob),arg("nil_matches",bit))),
    2405             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",oid),arg("v2",oid))),
    2406             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",oid),arg("v2",oid),arg("nil_matches",bit))),
    2407             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",bte))),
    2408             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",bte),arg("nil_matches",bit))),
    2409             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",sht))),
    2410             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",sht),arg("nil_matches",bit))),
    2411             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",int))),
    2412             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",int),arg("nil_matches",bit))),
    2413             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",lng))),
    2414             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",lng),arg("nil_matches",bit))),
    2415             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",flt))),
    2416             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",flt),arg("nil_matches",bit))),
    2417             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",bte),arg("v2",dbl))),
    2418             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",bte),arg("v2",dbl),arg("nil_matches",bit))),
    2419             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",bte))),
    2420             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",bte),arg("nil_matches",bit))),
    2421             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",sht))),
    2422             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",sht),arg("nil_matches",bit))),
    2423             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",int))),
    2424             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",int),arg("nil_matches",bit))),
    2425             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",lng))),
    2426             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",lng),arg("nil_matches",bit))),
    2427             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",flt))),
    2428             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",flt),arg("nil_matches",bit))),
    2429             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",sht),arg("v2",dbl))),
    2430             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",sht),arg("v2",dbl),arg("nil_matches",bit))),
    2431             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",bte))),
    2432             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",bte),arg("nil_matches",bit))),
    2433             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",sht))),
    2434             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",sht),arg("nil_matches",bit))),
    2435             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",int))),
    2436             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",int),arg("nil_matches",bit))),
    2437             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",lng))),
    2438             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",lng),arg("nil_matches",bit))),
    2439             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",flt))),
    2440             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",flt),arg("nil_matches",bit))),
    2441             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",int),arg("v2",dbl))),
    2442             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",int),arg("v2",dbl),arg("nil_matches",bit))),
    2443             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",bte))),
    2444             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",bte),arg("nil_matches",bit))),
    2445             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",sht))),
    2446             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",sht),arg("nil_matches",bit))),
    2447             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",int))),
    2448             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",int),arg("nil_matches",bit))),
    2449             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",lng))),
    2450             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",lng),arg("nil_matches",bit))),
    2451             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",flt))),
    2452             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",flt),arg("nil_matches",bit))),
    2453             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",lng),arg("v2",dbl))),
    2454             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",lng),arg("v2",dbl),arg("nil_matches",bit))),
    2455             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",bte))),
    2456             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",bte),arg("nil_matches",bit))),
    2457             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",sht))),
    2458             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",sht),arg("nil_matches",bit))),
    2459             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",int))),
    2460             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",int),arg("nil_matches",bit))),
    2461             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",lng))),
    2462             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",lng),arg("nil_matches",bit))),
    2463             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",flt))),
    2464             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",flt),arg("nil_matches",bit))),
    2465             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",flt),arg("v2",dbl))),
    2466             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",flt),arg("v2",dbl),arg("nil_matches",bit))),
    2467             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",bte))),
    2468             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",bte),arg("nil_matches",bit))),
    2469             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",sht))),
    2470             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",sht),arg("nil_matches",bit))),
    2471             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",int))),
    2472             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",int),arg("nil_matches",bit))),
    2473             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",lng))),
    2474             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",lng),arg("nil_matches",bit))),
    2475             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",flt))),
    2476             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",flt),arg("nil_matches",bit))),
    2477             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,3, arg("",bit),arg("v1",dbl),arg("v2",dbl))),
    2478             :  pattern("calc", "!=", CMDvarNE, false, "Return V1 != V2", args(1,4, arg("",bit),arg("v1",dbl),arg("v2",dbl),arg("nil_matches",bit))),
    2479             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",bit),arg("v2",bit))),
    2480             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",str),arg("v2",str))),
    2481             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",oid),arg("v2",oid))),
    2482             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",bte))),
    2483             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",sht))),
    2484             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",int))),
    2485             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",lng))),
    2486             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",flt))),
    2487             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",bte),arg("v2",dbl))),
    2488             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",sht),arg("v2",bte))),
    2489             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",sht),arg("v2",sht))),
    2490             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",sht),arg("v2",int))),
    2491             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",sht),arg("v2",lng))),
    2492             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",sht),arg("v2",flt))),
    2493             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",sht),arg("v2",dbl))),
    2494             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",int),arg("v2",bte))),
    2495             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",int),arg("v2",sht))),
    2496             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",int),arg("v2",int))),
    2497             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",int),arg("v2",lng))),
    2498             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",int),arg("v2",flt))),
    2499             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",int),arg("v2",dbl))),
    2500             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",lng),arg("v2",bte))),
    2501             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",lng),arg("v2",sht))),
    2502             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",lng),arg("v2",int))),
    2503             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",lng),arg("v2",lng))),
    2504             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",lng),arg("v2",flt))),
    2505             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",lng),arg("v2",dbl))),
    2506             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",flt),arg("v2",bte))),
    2507             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",flt),arg("v2",sht))),
    2508             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",flt),arg("v2",int))),
    2509             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",flt),arg("v2",lng))),
    2510             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",flt),arg("v2",flt))),
    2511             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",flt),arg("v2",dbl))),
    2512             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",bte))),
    2513             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",sht))),
    2514             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",int))),
    2515             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",lng))),
    2516             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",flt))),
    2517             :  pattern("calc", "cmp", CMDvarCMP, false, "Return -1/0/1 if V1 </==/> V2", args(1,3, arg("",bte),arg("v1",dbl),arg("v2",dbl))),
    2518             :  pattern("calc", "between", CMDvarBETWEEN, false, "B between LO and HI inclusive", args(1,9, arg("",bit),argany("b",1),argany("lo",1),argany("hi",1),arg("sym",bit),arg("linc",bit),arg("hinc",bit),arg("nils_false",bit),arg("anti",bit))),
    2519             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",void))),
    2520             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",bit))),
    2521             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",bte))),
    2522             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",sht))),
    2523             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",int))),
    2524             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",lng))),
    2525             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",flt))),
    2526             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",dbl))),
    2527             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",oid))),
    2528             :  pattern("calc", "void", CMDvarCONVERT, false, "Cast VALUE to void", args(1,2, arg("",void),arg("v",str))),
    2529             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",void))),
    2530             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",bit))),
    2531             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",bte))),
    2532             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",sht))),
    2533             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",int))),
    2534             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",lng))),
    2535             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",flt))),
    2536             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",dbl))),
    2537             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",oid))),
    2538             :  pattern("calc", "bit", CMDvarCONVERT, false, "Cast VALUE to bit", args(1,2, arg("",bit),arg("v",str))),
    2539             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",void))),
    2540             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",bit))),
    2541             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",bte))),
    2542             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",sht))),
    2543             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",int))),
    2544             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",lng))),
    2545             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",flt))),
    2546             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",dbl))),
    2547             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",oid))),
    2548             :  pattern("calc", "bte", CMDvarCONVERT, false, "Cast VALUE to bte", args(1,2, arg("",bte),arg("v",str))),
    2549             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",void))),
    2550             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",bit))),
    2551             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",bte))),
    2552             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",sht))),
    2553             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",int))),
    2554             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",lng))),
    2555             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",flt))),
    2556             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",dbl))),
    2557             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",oid))),
    2558             :  pattern("calc", "sht", CMDvarCONVERT, false, "Cast VALUE to sht", args(1,2, arg("",sht),arg("v",str))),
    2559             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",void))),
    2560             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",bit))),
    2561             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",bte))),
    2562             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",sht))),
    2563             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",int))),
    2564             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",lng))),
    2565             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",flt))),
    2566             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",dbl))),
    2567             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",oid))),
    2568             :  pattern("calc", "int", CMDvarCONVERT, false, "Cast VALUE to int", args(1,2, arg("",int),arg("v",str))),
    2569             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",void))),
    2570             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",bit))),
    2571             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",bte))),
    2572             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",sht))),
    2573             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",int))),
    2574             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",lng))),
    2575             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",flt))),
    2576             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",dbl))),
    2577             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",oid))),
    2578             :  pattern("calc", "lng", CMDvarCONVERT, false, "Cast VALUE to lng", args(1,2, arg("",lng),arg("v",str))),
    2579             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",void))),
    2580             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",bit))),
    2581             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",bte))),
    2582             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",sht))),
    2583             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",int))),
    2584             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",lng))),
    2585             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",flt))),
    2586             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",dbl))),
    2587             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",oid))),
    2588             :  pattern("calc", "flt", CMDvarCONVERT, false, "Cast VALUE to flt", args(1,2, arg("",flt),arg("v",str))),
    2589             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",void))),
    2590             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",bit))),
    2591             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",bte))),
    2592             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",sht))),
    2593             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",int))),
    2594             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",lng))),
    2595             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",flt))),
    2596             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",dbl))),
    2597             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",oid))),
    2598             :  pattern("calc", "dbl", CMDvarCONVERT, false, "Cast VALUE to dbl", args(1,2, arg("",dbl),arg("v",str))),
    2599             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",void))),
    2600             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",bit))),
    2601             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",bte))),
    2602             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",sht))),
    2603             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",int))),
    2604             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",lng))),
    2605             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",flt))),
    2606             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",dbl))),
    2607             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",oid))),
    2608             :  pattern("calc", "oid", CMDvarCONVERT, false, "Cast VALUE to oid", args(1,2, arg("",oid),arg("v",str))),
    2609             :  pattern("calc", "str", CMDvarCONVERT, false, "Cast VALUE to str", args(1,2, arg("",str),argany("v",0))),
    2610             :  pattern("calc", "min", CALCmin, false, "Return min of V1 and V2", args(1,3, argany("",1),argany("v1",1),varargany("v2",1))),
    2611             :  pattern("calc", "min_no_nil", CALCmin_no_nil, false, "Return min of V1 and V2, ignoring nil values", args(1,3, argany("",1),argany("v1",1),varargany("v2",1))),
    2612             :  pattern("calc", "max", CALCmax, false, "Return max of V1 and V2", args(1,3, argany("",1),argany("v1",1),varargany("v2",1))),
    2613             :  pattern("calc", "max_no_nil", CALCmax_no_nil, false, "Return max of V1 and V2, ignoring nil values", args(1,3, argany("",1),argany("v1",1),varargany("v2",1))),
    2614             :  command("calc", "ptr", CMDvarCONVERTptr, false, "Cast VALUE to ptr", args(1,2, arg("",ptr),arg("v",ptr))),
    2615             :  pattern("calc", "ifthenelse", CALCswitchbit, false, "If VALUE is true return MIDDLE else RIGHT", args(1,4, argany("",1),arg("b",bit),argany("t",1),argany("f",1))),
    2616             :  command("calc", "length", CMDstrlength, false, "Length of STRING", args(1,2, arg("",int),arg("s",str))),
    2617             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",bte),batarg("b",msk))),
    2618             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",bte),batarg("b",msk),arg("nil_if_empty",bit))),
    2619             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",bte),batarg("b",msk),batarg("s",oid))),
    2620             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",bte),batarg("b",msk),batarg("s",oid),arg("nil_if_empty",bit))),
    2621             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",sht),batarg("b",msk))),
    2622             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",sht),batarg("b",msk),arg("nil_if_empty",bit))),
    2623             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",sht),batarg("b",msk),batarg("s",oid))),
    2624             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",sht),batarg("b",msk),batarg("s",oid),arg("nil_if_empty",bit))),
    2625             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",int),batarg("b",msk))),
    2626             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",int),batarg("b",msk),arg("nil_if_empty",bit))),
    2627             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",int),batarg("b",msk),batarg("s",oid))),
    2628             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",int),batarg("b",msk),batarg("s",oid),arg("nil_if_empty",bit))),
    2629             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",lng),batarg("b",msk))),
    2630             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",lng),batarg("b",msk),arg("nil_if_empty",bit))),
    2631             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",lng),batarg("b",msk),batarg("s",oid))),
    2632             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",lng),batarg("b",msk),batarg("s",oid),arg("nil_if_empty",bit))),
    2633             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",dbl),batarg("b",msk))),
    2634             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",dbl),batarg("b",msk),arg("nil_if_empty",bit))),
    2635             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",dbl),batarg("b",msk),batarg("s",oid))),
    2636             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",dbl),batarg("b",msk),batarg("s",oid),arg("nil_if_empty",bit))),
    2637             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",bte),batarg("b",bte))),
    2638             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",bte),batarg("b",bte),arg("nil_if_empty",bit))),
    2639             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",bte),batarg("b",bte),batarg("s",oid))),
    2640             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",bte),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2641             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",sht),batarg("b",bte))),
    2642             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",sht),batarg("b",bte),arg("nil_if_empty",bit))),
    2643             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",sht),batarg("b",bte),batarg("s",oid))),
    2644             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",sht),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2645             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",int),batarg("b",bte))),
    2646             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",int),batarg("b",bte),arg("nil_if_empty",bit))),
    2647             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",int),batarg("b",bte),batarg("s",oid))),
    2648             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",int),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2649             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",lng),batarg("b",bte))),
    2650             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",lng),batarg("b",bte),arg("nil_if_empty",bit))),
    2651             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",lng),batarg("b",bte),batarg("s",oid))),
    2652             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",lng),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2653             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",dbl),batarg("b",bte))),
    2654             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",dbl),batarg("b",bte),arg("nil_if_empty",bit))),
    2655             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",dbl),batarg("b",bte),batarg("s",oid))),
    2656             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",dbl),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2657             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",sht),batarg("b",sht))),
    2658             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",sht),batarg("b",sht),arg("nil_if_empty",bit))),
    2659             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",sht),batarg("b",sht),batarg("s",oid))),
    2660             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",sht),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    2661             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",int),batarg("b",sht))),
    2662             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",int),batarg("b",sht),arg("nil_if_empty",bit))),
    2663             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",int),batarg("b",sht),batarg("s",oid))),
    2664             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",int),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    2665             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",lng),batarg("b",sht))),
    2666             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",lng),batarg("b",sht),arg("nil_if_empty",bit))),
    2667             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",lng),batarg("b",sht),batarg("s",oid))),
    2668             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",lng),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    2669             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",dbl),batarg("b",sht))),
    2670             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",dbl),batarg("b",sht),arg("nil_if_empty",bit))),
    2671             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",dbl),batarg("b",sht),batarg("s",oid))),
    2672             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",dbl),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    2673             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",int),batarg("b",int))),
    2674             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",int),batarg("b",int),arg("nil_if_empty",bit))),
    2675             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",int),batarg("b",int),batarg("s",oid))),
    2676             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",int),batarg("b",int),batarg("s",oid),arg("nil_if_empty",bit))),
    2677             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",lng),batarg("b",int))),
    2678             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",lng),batarg("b",int),arg("nil_if_empty",bit))),
    2679             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",lng),batarg("b",int),batarg("s",oid))),
    2680             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",lng),batarg("b",int),batarg("s",oid),arg("nil_if_empty",bit))),
    2681             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",dbl),batarg("b",int))),
    2682             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",dbl),batarg("b",int),arg("nil_if_empty",bit))),
    2683             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",dbl),batarg("b",int),batarg("s",oid))),
    2684             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",dbl),batarg("b",int),batarg("s",oid),arg("nil_if_empty",bit))),
    2685             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",lng),batarg("b",lng))),
    2686             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",lng),batarg("b",lng),arg("nil_if_empty",bit))),
    2687             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",lng),batarg("b",lng),batarg("s",oid))),
    2688             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",lng),batarg("b",lng),batarg("s",oid),arg("nil_if_empty",bit))),
    2689             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",dbl),batarg("b",lng))),
    2690             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",dbl),batarg("b",lng),arg("nil_if_empty",bit))),
    2691             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",dbl),batarg("b",lng),batarg("s",oid))),
    2692             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",dbl),batarg("b",lng),batarg("s",oid),arg("nil_if_empty",bit))),
    2693             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",flt),batarg("b",flt))),
    2694             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",flt),batarg("b",flt),arg("nil_if_empty",bit))),
    2695             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",flt),batarg("b",flt),batarg("s",oid))),
    2696             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",flt),batarg("b",flt),batarg("s",oid),arg("nil_if_empty",bit))),
    2697             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",dbl),batarg("b",flt))),
    2698             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",dbl),batarg("b",flt),arg("nil_if_empty",bit))),
    2699             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",dbl),batarg("b",flt),batarg("s",oid))),
    2700             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",dbl),batarg("b",flt),batarg("s",oid),arg("nil_if_empty",bit))),
    2701             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,2, arg("",dbl),batarg("b",dbl))),
    2702             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B.", args(1,3, arg("",dbl),batarg("b",dbl),arg("nil_if_empty",bit))),
    2703             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,3, arg("",dbl),batarg("b",dbl),batarg("s",oid))),
    2704             :  pattern("aggr", "sum", CMDBATsum, false, "Calculate aggregate sum of B with candidate list.", args(1,4, arg("",dbl),batarg("b",dbl),batarg("s",oid),arg("nil_if_empty",bit))),
    2705             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",bte),batarg("b",bte))),
    2706             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",bte),batarg("b",bte),arg("nil_if_empty",bit))),
    2707             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",bte),batarg("b",bte),batarg("s",oid))),
    2708             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",bte),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2709             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",sht),batarg("b",bte))),
    2710             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",sht),batarg("b",bte),arg("nil_if_empty",bit))),
    2711             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",sht),batarg("b",bte),batarg("s",oid))),
    2712             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",sht),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2713             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",int),batarg("b",bte))),
    2714             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",int),batarg("b",bte),arg("nil_if_empty",bit))),
    2715             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",int),batarg("b",bte),batarg("s",oid))),
    2716             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",int),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2717             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",lng),batarg("b",bte))),
    2718             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",lng),batarg("b",bte),arg("nil_if_empty",bit))),
    2719             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",lng),batarg("b",bte),batarg("s",oid))),
    2720             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",lng),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2721             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",dbl),batarg("b",bte))),
    2722             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",dbl),batarg("b",bte),arg("nil_if_empty",bit))),
    2723             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",dbl),batarg("b",bte),batarg("s",oid))),
    2724             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",dbl),batarg("b",bte),batarg("s",oid),arg("nil_if_empty",bit))),
    2725             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",sht),batarg("b",sht))),
    2726             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",sht),batarg("b",sht),arg("nil_if_empty",bit))),
    2727             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",sht),batarg("b",sht),batarg("s",oid))),
    2728             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",sht),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    2729             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",int),batarg("b",sht))),
    2730             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",int),batarg("b",sht),arg("nil_if_empty",bit))),
    2731             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",int),batarg("b",sht),batarg("s",oid))),
    2732             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",int),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    2733             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",lng),batarg("b",sht))),
    2734             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",lng),batarg("b",sht),arg("nil_if_empty",bit))),
    2735             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",lng),batarg("b",sht),batarg("s",oid))),
    2736             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",lng),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    2737             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",dbl),batarg("b",sht))),
    2738             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",dbl),batarg("b",sht),arg("nil_if_empty",bit))),
    2739             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",dbl),batarg("b",sht),batarg("s",oid))),
    2740             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",dbl),batarg("b",sht),batarg("s",oid),arg("nil_if_empty",bit))),
    2741             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",int),batarg("b",int))),
    2742             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",int),batarg("b",int),arg("nil_if_empty",bit))),
    2743             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",int),batarg("b",int),batarg("s",oid))),
    2744             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",int),batarg("b",int),batarg("s",oid),arg("nil_if_empty",bit))),
    2745             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",lng),batarg("b",int))),
    2746             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",lng),batarg("b",int),arg("nil_if_empty",bit))),
    2747             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",lng),batarg("b",int),batarg("s",oid))),
    2748             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",lng),batarg("b",int),batarg("s",oid),arg("nil_if_empty",bit))),
    2749             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",dbl),batarg("b",int))),
    2750             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",dbl),batarg("b",int),arg("nil_if_empty",bit))),
    2751             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",dbl),batarg("b",int),batarg("s",oid))),
    2752             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",dbl),batarg("b",int),batarg("s",oid),arg("nil_if_empty",bit))),
    2753             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",lng),batarg("b",lng))),
    2754             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",lng),batarg("b",lng),arg("nil_if_empty",bit))),
    2755             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",lng),batarg("b",lng),batarg("s",oid))),
    2756             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",lng),batarg("b",lng),batarg("s",oid),arg("nil_if_empty",bit))),
    2757             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",dbl),batarg("b",lng))),
    2758             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",dbl),batarg("b",lng),arg("nil_if_empty",bit))),
    2759             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",dbl),batarg("b",lng),batarg("s",oid))),
    2760             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",dbl),batarg("b",lng),batarg("s",oid),arg("nil_if_empty",bit))),
    2761             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",flt),batarg("b",flt))),
    2762             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",flt),batarg("b",flt),arg("nil_if_empty",bit))),
    2763             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",flt),batarg("b",flt),batarg("s",oid))),
    2764             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",flt),batarg("b",flt),batarg("s",oid),arg("nil_if_empty",bit))),
    2765             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",dbl),batarg("b",flt))),
    2766             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",dbl),batarg("b",flt),arg("nil_if_empty",bit))),
    2767             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",dbl),batarg("b",flt),batarg("s",oid))),
    2768             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",dbl),batarg("b",flt),batarg("s",oid),arg("nil_if_empty",bit))),
    2769             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,2, arg("",dbl),batarg("b",dbl))),
    2770             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B.", args(1,3, arg("",dbl),batarg("b",dbl),arg("nil_if_empty",bit))),
    2771             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,3, arg("",dbl),batarg("b",dbl),batarg("s",oid))),
    2772             :  pattern("aggr", "prod", CMDBATprod, false, "Calculate aggregate product of B with candidate list.", args(1,4, arg("",dbl),batarg("b",dbl),batarg("s",oid),arg("nil_if_empty",bit))),
    2773             :  pattern("aggr", "str_group_concat", CMDBATstr_group_concat, false, "Calculate aggregate string concatenate of B.", args(1,2, arg("",str),batarg("b",str))),
    2774             :  pattern("aggr", "str_group_concat", CMDBATstr_group_concat, false, "Calculate aggregate string concatenate of B.", args(1,3, arg("",str),batarg("b",str),arg("nil_if_empty",bit))),
    2775             :  pattern("aggr", "str_group_concat", CMDBATstr_group_concat, false, "Calculate aggregate string concatenate of B with candidate list.", args(1,3, arg("",str),batarg("b",str),batarg("s",oid))),
    2776             :  pattern("aggr", "str_group_concat", CMDBATstr_group_concat, false, "Calculate aggregate string concatenate of B with candidate list.", args(1,4, arg("",str),batarg("b",str),batarg("s",oid),arg("nil_if_empty",bit))),
    2777             :  pattern("aggr", "str_group_concat", CMDBATstr_group_concat, false, "Calculate aggregate string concatenate of B with separator SEP.", args(1,3, arg("",str),batarg("b",str),batarg("sep",str))),
    2778             :  pattern("aggr", "str_group_concat", CMDBATstr_group_concat, false, "Calculate aggregate string concatenate of B with separator SEP.", args(1,4, arg("",str),batarg("b",str),batarg("sep",str),arg("nil_if_empty",bit))),
    2779             :  pattern("aggr", "str_group_concat", CMDBATstr_group_concat, false, "Calculate aggregate string concatenate of B with candidate list and separator SEP.", args(1,4, arg("",str),batarg("b",str),batarg("sep",str),batarg("s",oid))),
    2780             :  pattern("aggr", "str_group_concat", CMDBATstr_group_concat, false, "Calculate aggregate string concatenate of B with candidate list and separator SEP.", args(1,5, arg("",str),batarg("b",str),batarg("sep",str),batarg("s",oid),arg("nil_if_empty",bit))),
    2781             :  //from sql
    2782             :  pattern("aggr", "anyequal", CMDvarEQ, false, "", args(1,3, arg("",bit),argany("l",1),argany("r",1))),
    2783             :  pattern("aggr", "not_anyequal", CMDvarNE, false, "", args(1,3, arg("",bit),argany("l",1),argany("r",1))),
    2784             :  { .imp=NULL }
    2785             : };
    2786             : #include "mal_import.h"
    2787             : #ifdef _MSC_VER
    2788             : #undef read
    2789             : #pragma section(".CRT$XCU",read)
    2790             : #endif
    2791         345 : LIB_STARTUP_FUNC(init_calc_mal)
    2792         345 : { mal_module("calc", NULL, calc_init_funcs); }

Generated by: LCOV version 1.14