header
Multi precision arithmetic applications

### Program Information

Name: Multi precision arithmetic applications
Domain: Numerical program
Functionality: an application with arithmetics carried out in software as IEEE 754 standard to achieve higher precision and accuracy than hardware based environment
Input: $i, j \in R$: i, j and k are three numbers
Output: $k \in R$

#### Reference

Metamorphic Relations to Improve the Test Accuracy of Multi Precision Arithmetic Software Applications https://dx.doi.org/10.1109/ICACCI.2014.6968586

### MR Information

#### MR1------

Description:
Property: If $i, j$ and $k$ are three numbers, $\forall{i,j,k}\in N$ and multiplication result of (i ,j) is k then i, j, k has to satisfy $i * j = k \Leftrightarrow (i*j)*x = k*x$, $\forall\{(i, j, k)\in N\ and\ (i, j, k) \in Q\}$
Source input: $i,j$ $\forall{i,j,k}\in N\ and\ (i,j,k)\in Q$
Source output: $k$
Follow-up input: $(i*j)*x$
Follow-up output: $k*x$
Input relation: $i*j=k$
Output relation: $(i*j)*x=k*x$
Pattern: symmetry

#### MR2------

Description:
Property: If $i, j$ and $k$ are three numbers, $\forall{i,j,k}\in N$ and multiplication result of (i ,j) is k then i, j, k has to satisfy $i * j = k \Leftrightarrow k/j=i \cap k/i=j$, $\forall\{(i, j, k)\in N\ and\ (i, j, k) \in Q\}$
Source input:
Source output: $k$
Follow-up input: $(i*j)*x$
Follow-up output: $k*x$
Input relation: $i*j=k$
Output relation: $k/j=i$ && $k/i=j$
Pattern: symmetry

#### MR3------

Description:
Property: If $i, j$ and $k$ are three numbers, $\forall{i,j,k}\in N$ and multiplication result of (i ,j) is k then i, j, k has to satisfy $i * j = k \Leftrightarrow ((i*j/n)+(i*j/n))=(k/2)*n$, $\forall\{(i, j, k, n)\in N\}$
Source input: $i,j$ $\forall(i,j,k,n)\in N$
Source output: $k$
Follow-up input: $(i*j/n) +(i*j/n)$
Follow-up output: $(k/2)*n$
Input relation: $i*j=k$
Output relation: $((i*j/n) +(i*j/n)) = (k/2)*n$
Pattern: symmetry

#### MR4------

Description:
Property: If $i, j$ and $k$ are three numbers, $\forall{i,j,k}\in N$ and multiplication result of (i ,j) is k then i, j, k has to satisfy $i * j = k \Leftrightarrow (i + 1)*(j – 1) = ( i * j)- i + j - 1 = k - (i + 1 – j)$
Source input: $i,j$
Source output: $k$
Follow-up input: $(i + 1)*(j – 1)$,  $(i * j)- i + j - 1$
Follow-up output: $k-(i+1–j)$
Input relation: $i*j=k$
Output relation: $(i + 1)*(j – 1) = ( i * j)- i + j - 1 = k - (i + 1 – j)$
Pattern: symmetry

#### MR5------

Description:
Property: If i, j and k are three numbers ${i, j, k \in R }$ and multiplication result of (i ,j) is k then i, j, k has to satisfy $i / j = k\Leftrightarrow (i/j)*x = k*x \in\{ (i, j, k) \in N$ and $(i, j, k) \in Q \}$
Source input: $i,j$
Source output: $k$
Follow-up input: $(i/j)*x$
Follow-up output: $k*x$
Input relation: $i/j=k$
Output relation: $(i/j)*x = k*x\in (i, j, k) \in N and (i, j, k) \in Q$
Pattern: symmetry

#### MR6------

Description:
Property: If i, j and k are three numbers ${i, j, k \in R }$ and multiplication result of (i ,j) is k then i, j, k has to satisfy $i/j=k\Leftrightarrow k*j=i\ \&\&\ i/k = j \in\{ (i, j, k) \in N$ and $(i, j, k) \in Q \}$
Source input: $i,j$
Source output: $k$
Follow-up input: $k*j$,$i/k$
Follow-up output: $i,j$
Input relation: $i/j=k$
Output relation: $k*j= i$ && $i/k = j \in\ {(i, j, k) \in N\ and\ (i, j, k) \in Q}$
Pattern: symmetry

#### MR7------

Description:
Property: If i, j and k are three numbers ${i, j, k \in R }$ and multiplication result of (i ,j) is k then i, j, k has to satisfy $i/j=k\Leftrightarrow (((i/j)*n) +((i/j)*n))= (k*2)/n \in \{(i,j,k,n)\in N\}$
Source input: $i,j$
Source output: $k$
Follow-up input: $(((i/j)*n) +((i/j)*n))$
Follow-up output: $(k*2)/n$
Input relation: $i/j=k$
Output relation: $(k*2)/n \in {(i, j, k, n) \in N }$
Pattern: symmetry
Insert title here