MathML Torture Test

Mozilla has a torture test for MathML. This page shows Ziamath’s results with these examples.



_images/test_1_0.svg

MathML
<math display="block">
  <mrow>
    <msup>
      <mi>x</mi>
      <mn>2</mn>
    </msup>
    <msup>
      <mi>y</mi>
      <mn>2</mn>
    </msup>
  </mrow>
</math>


_images/test_2_0.svg

MathML
<math display="block">
  <mrow>
    <msub><mi></mi><mn>2</mn></msub>
    <msub><mi>F</mi><mn>3</mn></msub>
  </mrow>
</math>


_images/test_3_0.svg

MathML
<math display="block">
  <mrow>
    <mfrac>
      <mrow>
        <mi>x</mi>
        <mo>+</mo>
        <msup>
          <mi>y</mi>
          <mn>2</mn>
        </msup>
      </mrow>
      <mrow>
        <mi>k</mi>
        <mo>+</mo>
        <mn>1</mn>
      </mrow>
    </mfrac>
  </mrow>
</math>


_images/test_4_0.svg

MathML
<math display="block">
  <mrow>
    <mi>x</mi>
    <mo>+</mo>
    <msup>
      <mi>y</mi>
      <mfrac>
        <mn>2</mn>
        <mrow>
          <mi>k</mi>
          <mo>+</mo>
          <mn>1</mn>
        </mrow>
      </mfrac>
    </msup>
  </mrow>
</math>


_images/test_5_0.svg

MathML
<math display="block">
  <mrow>
    <mfrac>
      <mi>a</mi>
      <mrow>
        <mi>b</mi>
        <mo>/</mo>
        <mn>2</mn>
      </mrow>
    </mfrac>
  </mrow>
</math>


_images/test_6_0.svg

MathML
<math>
<mrow>
  <msub>
    <mi>a</mi>
    <mn>0</mn>
  </msub>
  <mo>+</mo>
  <mfrac>
    <mn>1</mn>
    <mrow>
      <msub>
        <mi>a</mi>
        <mn>1</mn>
      </msub>
      <mo>+</mo>
      <mfrac>
        <mn>1</mn>
        <mrow>
          <msub>
            <mi>a</mi>
            <mn>2</mn>
          </msub>
          <mo>+</mo>
          <mfrac>
            <mn>1</mn>
            <mrow>
              <msub>
                <mi>a</mi>
                <mn>3</mn>
              </msub>
              <mo>+</mo>
              <mfrac>
                <mn>1</mn>
                <mrow>
                  <msub>
                    <mi>a</mi>
                    <mn>4</mn>
                  </msub>
                </mrow>
              </mfrac>
            </mrow>
          </mfrac>
        </mrow>
      </mfrac>
    </mrow>
  </mfrac>
</mrow>
</math>


_images/test_7_0.svg

MathML
<math display="block">
  <mrow>
    <mo>(</mo>
    <mfrac linethickness="0px">
      <mi>n</mi>
      <mrow>
        <mi>k</mi>
        <mo>/</mo>
        <mn>2</mn>
      </mrow>
    </mfrac>
    <mo>)</mo>
  </mrow>
</math>


_images/test_8_0.svg

MathML
<math display="block">
<mrow>
  <mrow>
    <mo>(</mo>
    <mfrac linethickness="0px">
      <mi>p</mi>
      <mn>2</mn>
    </mfrac>
    <mo>)</mo>
  </mrow>
  <msup>
    <mi>x</mi>
    <mn>2</mn>
  </msup>
  <msup>
    <mi>y</mi>
    <mrow>
      <mi>p</mi>
      <mo>-</mo>
      <mn>2</mn>
    </mrow>
  </msup>
  <mo>-</mo>
  <mfrac>
    <mn>1</mn>
    <mrow>
      <mn>1</mn>
      <mo>-</mo>
      <mi>x</mi>
    </mrow>
  </mfrac>
  <mfrac>
    <mn>1</mn>
    <mrow>
      <mn>1</mn>
      <mo>-</mo>
      <msup>
        <mi>x</mi>
        <mn>2</mn>
      </msup>
    </mrow>
  </mfrac>
</mrow>
</math>


_images/test_9_0.svg

MathML
<math display="block">
<mrow>
  <munder>
    <mo></mo>
    <mrow>
      <mfrac linethickness="0px">
        <mrow>
          <mn>0</mn>
          <mo></mo>
          <mi>i</mi>
          <mo></mo>
          <mi>m</mi>
        </mrow>
        <mrow>
          <mn>0</mn>
          <mo>&lt;</mo>
          <mi>j</mi>
          <mo>&lt;</mo>
          <mi>n</mi>
        </mrow>
      </mfrac>
    </mrow>
  </munder>
  <mi>P</mi>
  <mo stretchy="false">(</mo>
  <mi>i</mi>
  <mo>,</mo>
  <mi>j</mi>
  <mo stretchy="false">)</mo>
</mrow>
</math>


_images/test_10_0.svg

MathML
<math display="block">
  <mrow>
    <msup>
      <mi>x</mi>
      <mrow>
        <mn>2</mn>
        <mi>y</mi>
      </mrow>
    </msup>
  </mrow>
</math>


_images/test_11_0.svg

MathML
<math display="block">
<mrow>
  <munderover>
    <mo></mo>
    <mrow>
      <mi>i</mi>
      <mo>=</mo>
      <mn>1</mn>
    </mrow>
    <mi>p</mi>
  </munderover>
  <munderover>
    <mo></mo>
    <mrow>
      <mi>j</mi>
      <mo>=</mo>
      <mn>1</mn>
    </mrow>
    <mi>q</mi>
  </munderover>
  <munderover>
    <mo></mo>
    <mrow>
      <mi>k</mi>
      <mo>=</mo>
      <mn>1</mn>
    </mrow>
    <mi>r</mi>
  </munderover>
  <msub>
    <mi>a</mi>
    <mrow>
      <mi>i</mi>
      <mi>j</mi>
    </mrow>
  </msub>
  <msub>
    <mi>b</mi>
    <mrow>
      <mi>j</mi>
      <mi>k</mi>
    </mrow>
  </msub>
  <msub>
    <mi>c</mi>
    <mrow>
      <mi>k</mi>
      <mi>i</mi>
    </mrow>
  </msub>
</mrow>
</math>


_images/test_12_0.svg

MathML
<math display="block">
<mrow>
  <msqrt>
    <mn>1</mn>
    <mo>+</mo>
    <msqrt>
      <mn>1</mn>
      <mo>+</mo>
      <msqrt>
        <mn>1</mn>
        <mo>+</mo>
        <msqrt>
          <mn>1</mn>
          <mo>+</mo>
          <msqrt>
            <mn>1</mn>
            <mo>+</mo>
            <msqrt>
              <mn>1</mn>
              <mo>+</mo>
              <msqrt>
                <mn>1</mn>
                <mo>+</mo>
                <mi>x</mi>
              </msqrt>
            </msqrt>
          </msqrt>
        </msqrt>
      </msqrt>
    </msqrt>
  </msqrt>
</mrow>
</math>


_images/test_13_0.svg

MathML
<math display="block">
<mrow>
  <mrow>
    <mo>(</mo>
    <mfrac>
      <msup>
        <mo></mo>
        <mn>2</mn>
      </msup>
      <mrow>
        <mo></mo>
        <msup>
          <mi>x</mi>
          <mn>2</mn>
        </msup>
      </mrow>
    </mfrac>
    <mo>+</mo>
    <mfrac>
      <msup>
        <mo></mo>
        <mn>2</mn>
      </msup>
      <mrow>
        <mo></mo>
        <msup>
          <mi>y</mi>
          <mn>2</mn>
        </msup>
      </mrow>
    </mfrac>
    <mo>)</mo>
  </mrow>
  <msup>
    <mrow>
      <mo minsize="150%">|</mo>
      <mi>φ </mi>
      <mo stretchy="false">(</mo>
      <mi>x</mi>
      <mo>+</mo>
      <mi mathvariant="normal">i</mi>
      <mi>y</mi>
      <mo stretchy="false">)</mo>
      <mo minsize="150%">|</mo>
    </mrow>
    <mn>2</mn>
  </msup>
  <mo>=</mo>
  <mn>0</mn>
</mrow>
</math>


_images/test_14_0.svg

MathML
<math display="block">
  <mrow>
    <msup>
      <mn>2</mn>
      <msup>
        <mn>2</mn>
        <msup>
          <mn>2</mn>
          <mi>x</mi>
        </msup>
      </msup>
    </msup>
  </mrow>
</math>


_images/test_15_0.svg

MathML
<math display="block">
  <mrow>
    <msubsup>
      <mo stretchy="false"></mo>
      <mn>1</mn>
      <mi>x</mi>
    </msubsup>
    <mfrac>
      <mrow><mi>d</mi><mi>t</mi></mrow>
      <mi>t</mi>
    </mfrac>
  </mrow>
</math>


_images/test_16_0.svg

MathML
<math display="block">
  <mrow>
    <msub>
      <mo></mo>
      <mi>D</mi>
    </msub>
    <mi>d</mi><mi>x</mi>
    <mspace width="thinmathspace"></mspace>
    <mi>d</mi><mi>y</mi>
  </mrow>
</math>


_images/test_17_0.svg

MathML
<math display="block">
<mrow>
  <mi>f</mi>
  <mo stretchy="false">(</mo>
  <mi>x</mi>
  <mo stretchy="false">)</mo>
  <mo>=</mo>
  <mrow>
    <mo>{</mo>
    <mtable>
      <mtr>
        <mtd columnalign="center">
          <mrow>
            <mn>1</mn>
            <mo>/</mo>
            <mn>3</mn>
          </mrow>
        </mtd>
        <mtd columnalign="left">
          <mrow>
            <mtext>if </mtext>
            <mn>0</mn>
            <mo></mo>
            <mi>x</mi>
            <mo></mo>
            <mn>1</mn>
            <mo>;</mo>
          </mrow>
        </mtd>
      </mtr>
      <mtr>
        <mtd columnalign="center">
          <mrow>
            <mn>2</mn>
            <mo>/</mo>
            <mn>3</mn>
          </mrow>
        </mtd>
        <mtd columnalign="center">
          <mrow>
            <mtext>if </mtext>
            <mn>3</mn>
            <mo></mo>
            <mi>x</mi>
            <mo></mo>
            <mn>4</mn>
            <mo>;</mo>
          </mrow>
        </mtd>
      </mtr>
      <mtr>
        <mtd columnalign="center">
          <mn>0</mn>
        </mtd>
        <mtd columnalign="left">
          <mtext>elsewhere.</mtext>
        </mtd>
      </mtr>
    </mtable>
  </mrow>
</mrow>
</math>


_images/test_18_0.svg

MathML
<math display="block">
<mover>
  <mrow>
    <mi>x</mi>
    <mo>+</mo>
    <mo>...</mo>
    <mo>+</mo>
    <mi>x</mi>
  </mrow>
  <mover>
    <mo></mo>
    <mrow><mi>k</mi> <mspace width="thinmathspace"></mspace> <mtext>times</mtext></mrow>
  </mover>
</mover>
</math>


_images/test_19_0.svg

MathML
<math display="block">
  <mrow>
    <msub>
      <mi>y</mi>
      <msup>
        <mi>x</mi>
        <mn>2</mn>
      </msup>
    </msub>
  </mrow>
</math>


_images/test_20_0.svg

MathML
<math display="block">
<mrow>
  <munder>
    <mo></mo>
    <mrow>
      <mi>p</mi>
      <mtext> prime</mtext>
    </mrow>
  </munder>
  <mi>f</mi>
  <mo stretchy="false">(</mo>
  <mi>p</mi>
  <mo stretchy="false">)</mo>
  <mo>=</mo>
  <msub>
    <mo stretchy="false"></mo>
    <mrow>
      <mi>t</mi>
      <mo>&gt;</mo>
      <mn>1</mn>
    </mrow>
  </msub>
  <mi>f</mi>
  <mo stretchy="false">(</mo>
  <mi>t</mi>
  <mo stretchy="false">)</mo>
  <mspace width="thinmathspace"></mspace>
  <mi>d</mi>
  <mi>π</mi>
  <mo stretchy="false">(</mo>
  <mi>t</mi>
  <mo stretchy="false">)</mo>
</mrow>
</math>


_images/test_21_0.svg

MathML
<math display="block">
<mrow>
  <mo stretchy="false">{</mo>
  <munder>
    <mrow>
      <mover>
        <mrow>
          <mpadded width="0em"><mphantom><mo>(</mo></mphantom></mpadded>
          <mi>a</mi>
          <mo>,</mo>
          <mo>...</mo>
          <mo>,</mo>
          <mi>a</mi>
        </mrow>
        <mover>
          <mo></mo>
          <mrow>
            <mi>k</mi>
            <mtext> </mtext>
            <mi>a</mi>
            <mtext>'s</mtext>
          </mrow>
        </mover>
      </mover>
      <mo>,</mo>
      <mover>
        <mrow>
          <mpadded width="0em"><mphantom><mo>(</mo></mphantom></mpadded>
          <mi>b</mi>
          <mo>,</mo>
          <mo>...</mo>
          <mo>,</mo>
          <mi>b</mi>
        </mrow>
        <mover>
          <mo></mo>
          <mrow>
            <mi></mi>
            <mtext> </mtext>
            <mi>b</mi>
            <mtext>'s</mtext>
          </mrow>
        </mover>
      </mover>
    </mrow>
    <munder>
      <mo></mo>
      <mrow>
        <mi>k</mi>
        <mo>+</mo>
        <mi></mi>
        <mtext> elements</mtext>
      </mrow>
    </munder>
  </munder>
  <mo stretchy="false">}</mo>
</mrow>
</math>


_images/test_22_0.svg

MathML
<math display="block">
<mrow>
  <mo>(</mo>
  <mtable>
    <mtr>
      <mtd columnalign="center">
        <mrow>
          <mo>(</mo>
          <mtable>
            <mtr>
              <mtd columnalign="center">
                <mi>a</mi>
              </mtd>
              <mtd columnalign="center">
                <mi>b</mi>
              </mtd>
            </mtr>
            <mtr>
              <mtd columnalign="center">
                <mi>c</mi>
              </mtd>
              <mtd columnalign="center">
                <mi>d</mi>
              </mtd>
            </mtr>
          </mtable>
          <mo>)</mo>
        </mrow>
      </mtd>
      <mtd columnalign="center">
        <mrow>
          <mo>(</mo>
          <mtable>
            <mtr>
              <mtd columnalign="center">
                <mi>e</mi>
              </mtd>
              <mtd columnalign="center">
                <mi>f</mi>
              </mtd>
            </mtr>
            <mtr>
              <mtd columnalign="center">
                <mi>g</mi>
              </mtd>
              <mtd columnalign="center">
                <mi>h</mi>
              </mtd>
            </mtr>
          </mtable>
          <mo>)</mo>
        </mrow>
      </mtd>
    </mtr>
    <mtr>
      <mtd columnalign="center">
        <mn>0</mn>
      </mtd>
      <mtd columnalign="center">
        <mrow>
          <mo>(</mo>
          <mtable>
            <mtr>
              <mtd columnalign="center">
                <mi>i</mi>
              </mtd>
              <mtd columnalign="center">
                <mi>j</mi>
              </mtd>
            </mtr>
            <mtr>
              <mtd columnalign="center">
                <mi>k</mi>
              </mtd>
              <mtd columnalign="center">
                <mi>l</mi>
              </mtd>
            </mtr>
          </mtable>
          <mo>)</mo>
        </mrow>
      </mtd>
    </mtr>
  </mtable>
  <mo>)</mo>
</mrow>
</math>


_images/test_23_0.svg

MathML
<math display="block">
<mrow>
  <mi>det</mi>
  <mrow>
  <mo>|</mo>
  <mtable>
    <mtr>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>0</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>1</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>2</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <mo></mo>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mi>n</mi>
        </msub>
      </mtd>
    </mtr>
    <mtr>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>1</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>2</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>3</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <mo></mo>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mrow>
            <mi>n</mi>
            <mo>+</mo>
            <mn>1</mn>
          </mrow>
        </msub>
      </mtd>
    </mtr>
    <mtr>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>2</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>3</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mn>4</mn>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <mo></mo>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mrow>
            <mi>n</mi>
            <mo>+</mo>
            <mn>2</mn>
          </mrow>
        </msub>
      </mtd>
    </mtr>
    <mtr>
      <mtd columnalign="center">
        <mo></mo>
      </mtd>
      <mtd columnalign="center">
        <mo></mo>
      </mtd>
      <mtd columnalign="center">
        <mo></mo>
      </mtd>
      <mtd columnalign="center">
      </mtd>
      <mtd columnalign="center">
        <mo></mo>
      </mtd>
    </mtr>
    <mtr>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mi>n</mi>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mrow>
            <mi>n</mi>
            <mo>+</mo>
            <mn>1</mn>
          </mrow>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mrow>
            <mi>n</mi>
            <mo>+</mo>
            <mn>2</mn>
          </mrow>
        </msub>
      </mtd>
      <mtd columnalign="center">
        <mo></mo>
      </mtd>
      <mtd columnalign="center">
        <msub>
          <mi>c</mi>
          <mrow>
            <mn>2</mn>
            <mi>n</mi>
          </mrow>
        </msub>
      </mtd>
    </mtr>
  </mtable>
  <mo>|</mo>
  </mrow>
  <mo>&gt;</mo>
  <mn>0</mn>
</mrow>
</math>


_images/test_24_0.svg

MathML
<math display="block">
  <msub>
    <mi>y</mi>
    <msub>
      <mi>x</mi>
      <mn>2</mn>
    </msub>
  </msub>
</math>


_images/test_25_0.svg

MathML
<math display="block">
  <mrow>
    <msubsup>
      <mi>x</mi>
      <mn>92</mn>
      <mn>31415</mn>
    </msubsup>
    <mo>+</mo>
    <mi>π</mi>
  </mrow>
</math>


_images/test_26_0.svg

MathML
<math display="block">
  <msubsup>
    <mi>x</mi>
    <msubsup>
      <mi>y</mi>
      <mi>b</mi>
      <mi>a</mi>
    </msubsup>
    <msubsup>
      <mi>z</mi>
      <mi>c</mi>
      <mi>d</mi>
    </msubsup>
  </msubsup>
</math>


_images/test_27_0.svg

MathML
<math display="block">
  <msubsup>
    <mi>y</mi>
    <mn>3</mn>
    <mo></mo>
  </msubsup>
</math>


_images/test_28_0.svg

MathML
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
        <munder>
            <mo lspace="0em" rspace="0em">lim</mo>
            <mrow>
                <mi>n</mi><mo stretchy="false"></mo><mo>+</mo><mn></mn>
            </mrow>
        </munder>
        <mfrac>
            <msqrt><mrow><mn>2</mn><mi>π</mi><mi>n</mi></mrow></msqrt>
            <mrow><mi>n</mi><mo>!</mo></mrow>
        </mfrac>
        <msup>
            <mrow><mo>(</mo><mfrac><mi>n</mi><mi>e</mi></mfrac><mo>)</mo></mrow>
            <mi>n</mi>
        </msup>
    </mrow>
    <mo>=</mo>
    <mn>1</mn>
</math>


_images/test_29_0.svg

MathML
<math display="block">
    <mrow>
        <mrow>
            <mo lspace="0em" rspace="0em">det</mo>
            <mo stretchy="false">(</mo>
            <mi>A</mi>
            <mo stretchy="false">)</mo>
        </mrow>
        <mo>=</mo>
        <munder>
            <mo></mo>
            <mrow>
                <mi>σ</mi>
                <mo></mo>
                <msub>
                    <mi>S</mi>
                    <mi>n</mi>
                </msub>
            </mrow>
        </munder>
        <mrow>
            <mi>ϵ</mi>
            <mo stretchy="false">(</mo>
            <mi>σ</mi>
            <mo stretchy="false">)</mo>
        </mrow>
        <mrow>
            <munderover>
                <mo></mo>
                <mrow>
                    <mi>i</mi>
                    <mo>=</mo>
                    <mn>1</mn>
                </mrow>
                <mi>n</mi>
            </munderover>
            <msub>
                <mi>a</mi>
                <mrow>
                    <mi>i</mi>
                    <mo>,</mo>
                    <msub>
                        <mi>σ</mi>
                        <mi>i</mi>
                    </msub>
                </mrow>
            </msub>
        </mrow>
    </mrow>
</math>