diff options
| author | J08nY | 2025-07-30 11:54:25 +0200 |
|---|---|---|
| committer | J08nY | 2025-07-30 11:54:25 +0200 |
| commit | f4f72f37f4bea622a7955cfdab0dd1a2f5fc981f (patch) | |
| tree | 88512a7b45a10722b8c5c2cfbda20c5293018644 | |
| parent | 9157d27e71f629f6e6288c4fba2f172b42e2027c (diff) | |
| download | ECTester-f4f72f37f4bea622a7955cfdab0dd1a2f5fc981f.tar.gz ECTester-f4f72f37f4bea622a7955cfdab0dd1a2f5fc981f.tar.zst ECTester-f4f72f37f4bea622a7955cfdab0dd1a2f5fc981f.zip | |
| -rw-r--r-- | analysis/scalarmults/common.py | 33 | ||||
| -rw-r--r-- | analysis/scalarmults/formulas.ipynb | 526 |
2 files changed, 270 insertions, 289 deletions
diff --git a/analysis/scalarmults/common.py b/analysis/scalarmults/common.py index 2d5cf0b..2577c8c 100644 --- a/analysis/scalarmults/common.py +++ b/analysis/scalarmults/common.py @@ -1,45 +1,16 @@ -import multiprocessing -import inspect -import tempfile -import sys -import os +import itertools from datetime import timedelta -from contextlib import contextmanager from dataclasses import dataclass from functools import partial, cached_property, total_ordering -from importlib import import_module, invalidate_caches -from pathlib import Path -from typing import Type, Any, Optional -from enum import Enum +from typing import Any, Optional, Type from statsmodels.stats.proportion import proportion_confint -from pyecsca.ec.params import DomainParameters, get_params from pyecsca.ec.mult import * from pyecsca.ec.countermeasures import GroupScalarRandomization, AdditiveSplitting, MultiplicativeSplitting, EuclideanSplitting, BrumleyTuveri -spawn_context = multiprocessing.get_context("spawn") - -# Allow to use "spawn" multiprocessing method for function defined in a Jupyter notebook. -# https://neuromancer.sk/article/35 -@contextmanager -def enable_spawn(func): - invalidate_caches() - source = inspect.getsource(func) - current_file_path = os.path.abspath(__file__) - with open(current_file_path, 'r') as self, tempfile.NamedTemporaryFile(suffix=".py", mode="w") as f: - f.write(self.read()) - f.write(source) - f.flush() - path = Path(f.name) - directory = str(path.parent) - sys.path.append(directory) - module = import_module(str(path.stem)) - yield getattr(module, func.__name__) - sys.path.remove(directory) - @dataclass(frozen=True) @total_ordering diff --git a/analysis/scalarmults/formulas.ipynb b/analysis/scalarmults/formulas.ipynb index f72a372..9b16ee5 100644 --- a/analysis/scalarmults/formulas.ipynb +++ b/analysis/scalarmults/formulas.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "id": "09d92ba3-ede4-40c3-a061-a9c328e26fb5", "metadata": {}, "outputs": [], @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "id": "5155a3ab-fd65-4add-ac3d-413de337c849", "metadata": {}, "outputs": [], @@ -102,7 +102,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 10, "id": "e045a4cf-97db-4a2f-a191-582987f6473d", "metadata": {}, "outputs": [ @@ -142,6 +142,8 @@ " r1 = r1_aff.to_model(coords, params.curve)\n", " r2_aff = params.curve.affine_add(order2_aff, r1_aff)\n", " r2 = r2_aff.to_model(coords, params.curve)\n", + " r1r2_aff = params.curve.affine_add(r1_aff, r2_aff)\n", + " r1r2 = r1r2_aff.to_model(coords, params.curve)\n", " zeros = Point(coords, **{var: mod(0, p) for var in coords.variables})\n", "\n", " adds = set(formula for formula in coords.formulas.values() if formula.shortname == \"add\")\n", @@ -162,7 +164,7 @@ " # P + zeros = ?\n", " PpZeros = add(p, orderbig, zeros, **params.curve.parameters)[0]\n", " ZerospP = add(p, zeros, orderbig, **params.curve.parameters)[0]\n", - " # P1 + P2 = ord2\n", + " # P1 + P2 = ? such that P1 - P2 = ord2\n", " PpQord2 = add(p, r1, r2, **params.curve.parameters)[0]\n", " res[\"PpP\"] = eval_test(orderbig2, PpP, params.curve)\n", " res[\"PpInfty\"] = eval_test(orderbig, PpInfty, params.curve)\n", @@ -172,7 +174,7 @@ " res[\"EqInfty2\"] = eval_test(infty, EqInfty2, params.curve)\n", " res[\"PpZeros\"] = eval_test(None, PpZeros, params.curve)\n", " res[\"ZerospP\"] = eval_test(None, ZerospP, params.curve)\n", - " res[\"PpQord2\"] = eval_test(order2, PpQord2, params.curve)\n", + " res[\"PpQDifford2\"] = eval_test(r1r2, PpQord2, params.curve)\n", " for dbl in dbls:\n", " res = {}\n", " results_dbl[coords_name][dbl.name] = res\n", @@ -213,14 +215,13 @@ " - `Ord2 + Ord2 = infty`: Two behavior classes. Either correct behavior or zeros. Correct behavior for four fomulas on projective coords:\n", " `add-2002-bj, add-2007-bl, add-2015-rcb, madd-2015-rcb`\n", " - `P + -P = infty` and `-P + P = infty`: All correct, no zeros, no affine, on curve.\n", - " - `zeros + P = ?` and `P + zeros = ?`: Three behavior classes, in one, the zeros propagate, in another the formula makes up an affine point\n", - " that is not zeros but is not on the curve. In the final class, the formula makes up some point that is neither zeros, nor affine nor on the curve.\n", - " - `P + Q = Ord2`: The exceptional case for (otherwise complete) RCB formulas." + " - `zeros + P = ?` and `P + zeros = ?`: Three behavior classes, in one, the zeros propagate, in another the formula makes up an affine point that is not zeros but is not on the curve. In the final class, the formula makes up some point that is neither zeros, nor affine nor on the curve. These cases happen for the `madd`/`zadd` variants.\n", + " - `P + Q = ?, where P - Q = Ord2`: The exceptional case for (otherwise complete) RCB formulas." ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 20, "id": "d0928c16-9688-4d65-a559-5895d1b7c85b", "metadata": { "editable": true, @@ -234,8 +235,15 @@ "name": "stdout", "output_type": "stream", "text": [ - "dict_values([{'add-2008-s', 'add-1998-cmo-2', 'add-1998-cmo', 'add-1998-hnm', 'add-2001-b', 'add-2007-bl', 'add-1986-cc', 'add-2009-bl'}, {'madd-2008-s', 'madd-2007-bl', 'madd-2004-hmv', 'madd-2008-g', 'madd-1998-cmo', 'madd', 'madd-2009-bl'}, {'zadd-2007-m'}, {'mmadd-1998-cmo', 'mmadd-2009-bl', 'mmadd-2008-s', 'mmadd-2007-bl'}, {'add-2015-rcb'}, {'add-2007-bl', 'add-2002-bj'}, {'madd-2015-rcb'}])\n", - "7\n" + "{'madd-1998-cmo', 'madd', 'add-1986-cc', 'madd-2009-bl', 'mmadd-2009-bl', 'add-1998-cmo', 'add-2007-bl', 'add-2009-bl', 'madd-2008-g', 'add-2001-b', 'add-1998-hnm', 'zadd-2007-m', 'madd-2004-hmv', 'madd-2008-s', 'madd-2007-bl', 'mmadd-2008-s', 'mmadd-1998-cmo', 'mmadd-2007-bl', 'add-2008-s', 'add-1998-cmo-2'}\n", + "\t [('InftypP', False), ('PpInfty', False), ('PpP', False), ('PpQDifford2', True)]\n", + "{'add-2015-rcb'}\n", + "\t [('InftypP', True), ('PpInfty', True), ('PpP', True), ('PpQDifford2', False)]\n", + "{'add-2002-bj', 'add-2007-bl'}\n", + "\t [('InftypP', False), ('PpInfty', False), ('PpP', True), ('PpQDifford2', True)]\n", + "{'madd-2015-rcb'}\n", + "\t [('InftypP', True), ('PpInfty', False), ('PpP', True), ('PpQDifford2', False)]\n", + "4\n" ] }, { @@ -243,252 +251,252 @@ "text/html": [ "<table>\n", "<thead>\n", - "<tr><th>Coords </th><th>Formula </th><th>Test </th><th>Correct? </th><th>Zeros? </th><th>Affine? </th><th>On curve? </th></tr>\n", + "<tr><th>Coords </th><th>Formula </th><th>Test </th><th>Correct? </th><th>Zeros? </th><th>Affine? </th><th>On curve? </th></tr>\n", "</thead>\n", "<tbody>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>InftypP </td><td>False </td><td>False </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>jacobian </td><td>add-2001-b </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>PpInfty </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>InftypP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>O2pO2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2015-rcb </td><td>PpQord2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>O2pO2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2007-bl </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>InftypP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>O2pO2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpQord2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>O2pO2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-2002-bj </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>add-2008-s </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-2009-bl </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>EqInfty1</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>EqInfty2</td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", - "<tr><td>modified </td><td>madd-2009-bl </td><td>PpQord2 </td><td>False </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2001-b </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>InftypP </td><td>False </td><td>False </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>PpInfty </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>InftypP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>O2pO2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2015-rcb </td><td>PpQDifford2</td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>O2pO2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2002-bj </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-1998-cmo </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>InftypP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>O2pO2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpQDifford2</td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>O2pO2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>projective</td><td>add-2007-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>add-2008-s </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>madd-2009-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-2009-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>O2pO2 </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>EqInfty1 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>EqInfty2 </td><td>True </td><td>False </td><td>False </td><td>True </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n", + "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n", "</tbody>\n", "</table>" ], @@ -509,8 +517,8 @@ " for name, formula in vals.items():\n", " ident = set()\n", " for k, v in formula.items():\n", - " if k in (\"PpP\", \"PpInfty\", \"InftypP\",\"PpQord2\"):\n", - " ident.add((k, v[0], v[1], v[2], v[3]))\n", + " if k in (\"PpP\", \"PpInfty\", \"InftypP\",\"PpQDifford2\"):\n", + " ident.add((k, v[0])) #, v[1], v[2], v[3]\n", " if test_filter is None or k in test_filter:\n", " item = (v[0], v[1], v[2], v[3])\n", " group = groups.setdefault(item, set())\n", @@ -519,7 +527,9 @@ " ident = frozenset(ident)\n", " cluster = clusters.setdefault(ident, set())\n", " cluster.add(name)\n", - "print(clusters.values())\n", + "for ident, cluster in clusters.items():\n", + " print(cluster)\n", + " print(\"\\t\", sorted(ident))\n", "print(len(clusters))\n", "if test_filter is not None:\n", " for group, formulas in groups.items():\n", |
