<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Digit-Wise Parallelism of Additive Operations in Numeration Systems with Redundant Digits</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Ailamazyan Program Systems Institute of RAS</institution>
          ,
          <addr-line>Peter I str., 4a, selo Veskovo, Pereslavl-Zalessky, Yaroslavl region, 152021</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Keldysh Institute of Applied Mathematics of RAS</institution>
          ,
          <addr-line>Miusskaya sq., 4, Moscow, 125047</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>An introduction and the state of work of the project for the implementation of high-precision arithmetic in an overlaying numeration system, which provides digit-wise parallelism of operations of addition and subtraction of real numbers with restricted carry propagation only by 1-2 bits, is presented. The historical origins of ideas behind such numeration systems in the history of mathematics, dating back to A.L. Cauchy (1840) and L.E.J. Brouwer (1921), are outlined. We explain a simplest overlaying system referred to as "three halves". It is built on the binary system by adding a extra (redundant) third digit representing an interval overlaying with the intervals of 0 and 1. We demonstrate an addition scheme for it, which propagates a carry to next two positions. A simpler scheme with carry propagation to only one position is also shown, and we argue that it requires two redundant digits and a numeration system base not less than 3.</p>
      </abstract>
      <kwd-group>
        <kwd>arbitrary-precision arithmetic</kwd>
        <kwd>bignum arithmetic</kwd>
        <kwd>digit-wise parallelism</kwd>
        <kwd>overlaying numeration system</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Problem statement. Modern problems of mathematical modeling require an increase
in the calculation accuracy and bit width of numbers, some up to thousands or more
bits. The digit-wise-parallel implementation of operations on such long numbers faces
the carry problem: in the usual column addition scheme, the carry is performed in the
worst case in a time proportional to the bit width, while it is intuitively expected that
addition can be performed with bit parallelism in one clock cycle. For example, when
adding two binary numbers in Figure 1 on the left, the fractional part of the result
consists of some units; when replacing the least significant digit of the second number from
0 to 1, there is a carry along the entire mantissa (Figure 1 on the right). There are more
complex schemes of carry in logarithmic time [8, Chapter 29], but they have to waste
the area of the crystal.</p>
      <p>
        A radical solution could be such a numeration system in which there are no carries
at all for an unlimited number of digits. However, as mentioned by L.E.J. Brouwer a
hundred years ago [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], unlimited carriers are present in any positional numeration
system in which the number of digits coincides with the base of the system.
      </p>
      <p>
        Brouwer was worried about a fundamental mathematical problem that arose in the
development of intuitionistic mathematics: how to represent real numbers and other
(potentially) infinite mathematical objects in such a way that the Principle of Continuity
is fulfilled? It is also called the Principle of Finite information [
        <xref ref-type="bibr" rid="ref10 ref12 ref13 ref14">10, 12–14</xref>
        ]:
Any finite part of the result must be returned over some finite part of the argument(s).
      </p>
      <p>The representation of real numbers is (potentially) infinite towards the lower-order
bits. The final part of such a representation is a sequence of bits from the most
significant to some least significant. Arithmetic operations, for example addition, in order to
satisfy the requirements of intuitionistic mathematics, must return each fragment of the
representation from the most significant digits, "consuming" a certain finite number of
argument digits. However, as we see in Figure 1, if the addition operation in the binary
system produces only ones in a row for the leading parts of the arguments, we do not
know if it will reset them all to zero at some future moment. Moreover, as we know
from the first grade, addition and multiplication in a column are performed from
loworder bits to high-order ones, and Brouwer needed other algorithms of operations for
real numbers - from high-order bits to low-order ones, since infinity in their provision
goes towards the low-order bits.</p>
      <p>We observe an interesting phenomenon: seemingly completely different questions
from the opposite areas of theory/practice on the axis of mathematics: the foundations
of mathematics, on the one hand, and digit-wise parallelization of arithmetic operations,
on the other, have been faced same pitfalls. This means that the problem is worthy of
systematically tackling it, but you do not need to expect quick, simple results.</p>
      <p>
        Approaches to the solution. The first solution we discovered (thanks to
A.B. Shvorin [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ]), close to our work, goes back to the paper by A.L. Cauchy in
1840 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Cauchy noticed that in numeration systems with base 10, but with an extended
set of 11 digits from −5 to 5, hyphenations are limited, which can make calculations
easier and reduce errors.
      </p>
      <p>
        To solve his problem of developing arithmetic operations that satisfy the Principle
of Continuity Brouwer [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] designed a numeration system with base 2 with three digits.
In such a system, it became possible to sequentially receive the highest bits of the result,
gradually consuming the bits of the summands, satisfying the Principle of Continuity
and Finite Information.
      </p>
      <p>Additional digits lead to redundancy in the representation, when the intervals of the
numeric axis corresponding to the digits intersect, overlay. Therefore, such systems are
called overlaying systems. It is thanks to this redundancy and overlaying that it is
possible to "extinguish" the unlimited propagation of carry during addition and to achieve
digit-wise parallelism only with local interaction of neighboring parallel blocks.
Cauchy and Brouwer each used one additional digit over and above what is required for
this reason. You can add more numbers, getting some more benefits (one of which we
will show below in Figure 6).</p>
      <p>We develop these ideas of the classics further in order to bring numeration systems
with redundant digits to practice and implementation of circuitry in equipment.</p>
      <p>
        Other and related works. With the advent of the computer era, and especially in
recent decades, the development of alternative representations of numbers has become
very popular. Many works have been published that cannot be reviewed in a short
paper. Among the recent achievements, we note the work of the group led by Christiane
Frougny [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ], which studied the necessary conditions for the existence of a parallel
addition algorithm.
      </p>
      <p>
        Another direction with a long history is modular arithmetic based on the residual
class system (RNS). It is interesting that in the USSR in the 1960s, computers based on
modular arithmetic were developed in Zelenograd for use in missile defense systems
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. According to B.M. Malashevich [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], the "K-340A" computer was the first in the
world to overcome the boundary of 1 million op/sec (on numbers with a fixed point in
the range of ± 1.6×1012), and he believes that modular arithmetic gave a 7-fold increase
in performance compared to what was achievable on that hardware. From modern
works, profound results were obtained by a group led by V.S. Knyazkov [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ], who
solved a number of theoretical problems and developed algorithms and implementation
on graphic coprocessors of all arithmetic operations, including division. Note that
division required an approximate estimate of intermediate results, which is calculated using
interval arithmetic. The arithmetic discussed in this paper is essentially interval
arithmetic. This opens the possibility of its application in modular division.
      </p>
      <p>
        More detailed historical information about these and other related works can be
found in the introduction of paper [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Status of work and content of the paper. In recent years, the authors, together with
colleagues, have checked the theoretical study of overlaying numeration systems, the
properties, general and special cases of such systems have been studied [
        <xref ref-type="bibr" rid="ref11 ref12 ref13 ref14 ref15 ref16">11, 12–16</xref>
        ].
Currently, the development of circuitry solutions based on FPGAs is underway with
the further purpose of conducting an experimental study on a number of applied
problems and assessing whether the use of such systems is justified.
      </p>
      <p>In this paper:
1. An introduction to overlaying numeration systems and a historical background is
given.
2. Digit-wise-parallel schemes of addition with carry of only one and two next digit
positions in a system with one and two additional digits are demonstrated. As far as
we know, the observation that such a scheme is possible was made by us for the first
time. In previous works, the problem of reducing the number of additional digits was
often solved, which caused a carry to a larger number of digit positions.
As a starting point for constructing overlaying systems, consider the familiar binary
numeration system. Figure 2 shows the interval [0, 1) of the numerical axis. The
parenthesis from 0 to 1 at the top indicates the range of numbers that start at 0. Divide the
interval in half. Writing numbers from [0,1/2) starts from 0.0; in the interval [1/2,1) –
from 0.1, which is shown by the corresponding brackets.</p>
      <p>Before moving on to overlaying systems, we stock up on the observation that
representations in the positional numeration system, such as 0, 0.0, 0.1, can be considered
an image of not one really number standing at the beginning of the interval, but the
interval itself, and, having in mind such semantics, to define arithmetic operations that
map intervals to intervals. In this case, it is often necessary to give the answer in the
form of an upper bound, generalizing the resulting intervals to wider ones, since the
exact intervals will turn out to be unimaginable. This interpretation is not used in
conventional positional numeration systems. However, in overlaying systems, on the
contrary, the standard interpretation as denoting an exact number gives rise to certain
problems, and the interval semantics of operations is convenient and understandable.</p>
      <p>Now let's look at the simplest overlaying numeration system, which we call "three
halves". The base of the system is still 2, that is, it can be considered binary. However,
now we will have three digits: in addition to 0 and 1, there is another additional one,
which we represent as ½. This number will represent the interval [1/4,3/4). The
numbers, as well as the smaller intervals included in it, will get another image of 0.½ in the
first two digits. This interval is shown in Figure 3 in parenthesis below the number axis.
Note that the left and right halves of this interval are written using three digits in two
ways, for example, the right side – in the form of 0.10 and 0.½ (lower bracket in Figure
3).</p>
      <p>
        We have obtained a system in which an alphabet of a larger number of digits is used
to represent numbers and intervals of the same precision. This requires additional
hardware resources per digit. But it is precisely this redundancy that makes it possible to
"extinguish" the carriers, "absorb" them with additional digits. To see this, it is
necessary to formally describe the tables of addition and subtraction operations. Some of
them are given in paper [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Tables of operations for overlaying systems are
ambiguous, and the option can be selected from other considerations – aesthetic, practical or
circuit design.
      </p>
      <p>
        As is known from the theory and practice of conventional positional systems,
symmetric systems with opposite numbers (like the one used by Cauchy [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) have certain
advantages. First, the negation of a number is trivial, and the subtraction algorithm is
completely analogous and symmetric to addition. Secondly, the rounding error, in our
case, the intervals, is calculated symmetrically, without bias in any direction. Symmetry
requires an odd number of digits and is easily implemented, for example, in the ternary
numeration system with digits –1, 0, 1, as was the case in the Soviet computer "Setun"
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. It is also beneficial to do this in a binary system with overlaying based on three
digits.
      </p>
      <p>Figure 4 shows a system with numbers 1, 0, 1. Compared with Figure 3 all labels
and designations are shifted by –½ and multiplied by 2. As in Figure 3, the interval
indicated by the lower parenthesis in Figure 4 is written in two ways: 0.11 and 0.01.</p>
      <p>The carry is now limited to two digits. All calculation paths are finite and have the
form: +, s, Π, Σ.</p>
      <p>The diagram can be simplified by using a base of at least 3 and two additional digits.
It is shown in Figure 7. Here the carry is "absorbed" by one digit position. This happens
when the system has a base of at least 3 and contains two additional digits. Here the
calculation paths are +, s, DivMod, +.</p>
      <p>The paper and the report provide an introduction to the topic of high-precision
arithmetic with redundant representation of numbers and the concept of an overlaid
numeration system, in which digit-wise parallelism of addition and subtraction of real
numbers is possible due to limited carry from a digit position to the next ones. Multiplication
and division are also speeded up as they use parallel addition and subtraction.</p>
      <p>Computational schemes were presented with a carry by 2 digits for the "three halves"
system with one additional digit compared to binary and with a carry by one position
for systems with two additional digits and with a base of at least 3.</p>
      <p>We are developing circuit designed solutions for the implementation of such
arithmetic operations in FPGAs with the further aim of conducting an experimental study
of the effect and usefulness of such arithmetic on various applied problems.</p>
      <p>It is surprising that despite a rather long history of theoretical study of such systems,
we do not know that they have been brought to a convenient practical implementation
and widespread testing on applied problems. Perhaps, with all attempts, the desired
efficiency was not achieved, and negative results were obtained, which, unfortunately,
are not accepted to be published in modern science. On the other hand, it is possible
that such arithmetic was inadequate to the previous level of hardware development. For
example, today's large volume of circuits loaded into FPGAs creates qualitatively new
opportunities than were available before. Understanding the algorithmic problems that
still need to be solved and realizing the usefulness only for a limited class of problems,
we nevertheless believe that it is necessary to provide users with an implementation of
long numbers based on overlaying systems (as well as other representations) in a way
convenient for programmers for easy experimentation with problems that require high
precision and interval arithmetic.</p>
      <p>For applied mathematicians, the ability to freely experiment with new tools is a key
factor in their development and bringing them to widespread practice. Mathematicians
do not hesitate to answer "yes, come on!" when asked if you want to recalculate your
problem with high accuracy and find out how much rounding errors affect the result,
even if you need to leave it on a (super) computer overnight instead of getting an answer
within an hour on a laptop. But as soon as you tell them that for this you need to rewrite
their favorite program in C / C ++ or Fortran, replacing operations in arithmetic
expressions with calls to library functions, or recode the program in another language like
Python, in which long arithmetic is immediately built into realization, another reaction
follows: “no, don't; I'd better go and think."</p>
      <p>New high-precision arithmetic – be it modular, overlapped, or simply
long-represented in a positional system, whether implemented in a central processing unit or in
an accelerator like GPGPU or FPGA - must be seamlessly integrated with popular
languages. The transition from programs with ordinary arithmetic (on the types int, long,
float and double) to programs with high-precision arithmetic should, in the simplest
case, be carried out only by setting some options to the compiler. The implementation
of such tools is not a task of developing new representations, algorithms and programs
for operations on numbers (which this paper is devoted to), but a common system
programming task that requires known resources. Unfortunately, we are not aware of such
systems. Their absence is one of the possible obstacles to the development of this
direction.</p>
      <p>
        In addition to various mathematical problems, where long arithmetic in hundreds,
thousands or more bits can help to obtain new information from a computational
experiment, we will point out two more classes where the overlaying numeration system
can be advantageous:
1. Overlaying arithmetic is essentially interval arithmetic: a finite set of digits has the
semantics of an interval to which all numbers beginning with this set belong. Thus,
it is applicable wherever interval arithmetic is required to assess the accuracy of
calculations. Such arithmetic has a fundamental drawback: the intervals "spread out"
too quickly and often do not provide any useful information. Therefore, interval
arithmetic should be used in conjunction with long numbers so that it can be easily
recalculated with greater precision, when the accuracy of the current result is
insufficient.
2. Operations in overlaying systems are performed from the most significant bits to the
least significant ones. (Recall that it was for this reason that L.E. Brouwer used it
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]). Due to this, arithmetic expressions can be implemented by pipelined circuits
for FPGAs, "pumping" long numbers from high-order digits to low-order ones. It
will be parallelism of a different type: not the simultaneous processing of many
digits, which was discussed above, but sequential, pipelined. In this case, it becomes
possible to control the accuracy dynamically, "pulling" from the computational
schema as many result digits as needed, "pumping up" the required number of
argument digits.
      </p>
      <p>These are topics for future research.
5</p>
      <p>Acknowledgements
The authors express their gratitude to Arkady Klimov for valuable advice on improving
the presentation and paper.</p>
      <p>This work was financially supported by the Russian Federation represented by
Ministry of Education and Science (grant id: RFMEFI61319X0092).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Brouwer</surname>
            ,
            <given-names>L.E.J.:</given-names>
          </string-name>
          <article-title>Besitzt jede reelle Zahl eine Dezimalbruchentwicklung? (Does Every Real Number Have a Decimal Expansion?)</article-title>
          .
          <source>Mathematische Annalen</source>
          ,
          <volume>83</volume>
          (
          <issue>3-4</issue>
          ),
          <fpage>201</fpage>
          -
          <lpage>210</lpage>
          (
          <year>1921</year>
          ). DOI:
          <volume>10</volume>
          .1007/BF01458382. English translation in: Mancosu P. (ed.), From Brouwer to Hilbert.
          <source>The Debate on the Foundations of Mathematics in the 1920s. Oxford:</source>
          Oxford University Press, P.
          <fpage>28</fpage>
          -
          <lpage>35</lpage>
          (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Brusentsov</surname>
            ,
            <given-names>N.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alvarez</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          :
          <source>Ternary Computers: The Setun and the Setun 70 Perspectives on Soviet and Russian Computing</source>
          ,
          <fpage>SoRuCom</fpage>
          -2006
          <source>, IFIP Advances in Information and Communication Technology</source>
          , Vol
          <volume>357</volume>
          , Berlin, Heidelberg: Springer,
          <year>2011</year>
          , DOI: 10.1007/978-3-
          <fpage>642</fpage>
          -22816-2_
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cauchy</surname>
          </string-name>
          , A.-L.:
          <article-title>Sur les moyens d'éviter les erreurs dans les calculs numériques (On Ways to Avoid Errors in Numerical Calculations)</article-title>
          , Comptes rendus de l'
          <source>Académie des Sciences, XI</source>
          ,
          <fpage>789</fpage>
          -
          <lpage>798</lpage>
          (
          <year>1840</year>
          ). Reprinted in: Cauchy A.-L. Œuvres complètes, série
          <volume>1</volume>
          ,
          <issue>5</issue>
          ,
          <fpage>431</fpage>
          -
          <lpage>442</lpage>
          (
          <year>1885</year>
          ). URL: http://sites.mathdoc.fr/cgi-bin/oeitem?id=
          <source>OE_CAUCHY_1</source>
          <volume>_5</volume>
          _
          <issue>431</issue>
          _
          <fpage>1</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Frougny</surname>
          </string-name>
          , Ch.,
          <string-name>
            <surname>Sakarovitch</surname>
            ,
            <given-names>J.: Number</given-names>
          </string-name>
          <string-name>
            <surname>Representation</surname>
            and
            <given-names>Finite</given-names>
          </string-name>
          <string-name>
            <surname>Automata</surname>
          </string-name>
          . Berthé V.,
          <string-name>
            <surname>Rigo</surname>
            <given-names>M</given-names>
          </string-name>
          . (Eds.),
          <source>Combinatorics, Automata and Number Theory (Encyclopedia of Mathematics and its Applications</source>
          ,
          <volume>135</volume>
          ), Cambridge: Cambridge University Press,
          <fpage>34</fpage>
          -
          <lpage>107</lpage>
          (
          <year>2010</year>
          ).
          <source>DOI: 10.1017/CBO9780511777653</source>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Frougny</surname>
          </string-name>
          , Ch.,
          <string-name>
            <surname>Pelantová</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Svobodová</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Parallel Addition in Non-Standard Numeration Systems</article-title>
          . Theoretical Computer Science,
          <volume>412</volume>
          (
          <issue>41</issue>
          ),
          <fpage>5714</fpage>
          -
          <lpage>5727</lpage>
          (
          <year>2011</year>
          ), DOI: 10.1016/j.tcs.
          <year>2011</year>
          .
          <volume>06</volume>
          .028.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Isupov</surname>
            ,
            <given-names>K.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knyazkov</surname>
            ,
            <given-names>V.S.:</given-names>
          </string-name>
          <article-title>Parallel multiple-precision arithmetic based on residue number system</article-title>
          .
          <source>Program Systems: Theory and Applications</source>
          ,
          <volume>7</volume>
          :
          <issue>1</issue>
          (
          <issue>28</issue>
          ),
          <fpage>61</fpage>
          -
          <lpage>97</lpage>
          (
          <year>2016</year>
          ), DOI: 10.25209/2079-3316-2016-7-1-
          <fpage>61</fpage>
          -97.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Isupov</surname>
            ,
            <given-names>K.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knyazkov</surname>
            ,
            <given-names>V.S.</given-names>
          </string-name>
          :
          <article-title>Multiple-precision matrix-vector multiplication on graphics processing units</article-title>
          .
          <source>Program Systems: Theory and Applications</source>
          ,
          <volume>11</volume>
          :3(
          <issue>46</issue>
          ),
          <fpage>33</fpage>
          -
          <lpage>59</lpage>
          (
          <year>2020</year>
          ), DOI: 10.25209/2079-3316-2020-11-3-
          <fpage>33</fpage>
          -59.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Cormen</surname>
            ,
            <given-names>Th.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leiserson</surname>
          </string-name>
          , Ch.E.,
          <string-name>
            <surname>Rivest</surname>
            ,
            <given-names>R.L.</given-names>
          </string-name>
          : Introduction to Algorithms, Cambridge, MA: MIT Press,
          <year>1990</year>
          , 1048 p.
          <article-title>Russian translation: M.:</article-title>
          <string-name>
            <surname>MCNMO</surname>
          </string-name>
          ,
          <year>1999</year>
          , 960 p.
          <source>ISBN 5- 900916-37-5</source>
          . URL: https://istina.msu.ru/publications/book/171753101/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Malashevich</surname>
            ,
            <given-names>B.M.:</given-names>
          </string-name>
          <article-title>Brief fundamentals and history of the creation of domestic modular computers. The origins of modular arithmetic</article-title>
          .
          <source>Proceedings of the SoRuCom-2a017</source>
          . Forth International Conference “
          <article-title>Computer Technology in Russia and in the Former Soviet Union”</article-title>
          , Zelenograd, October 3-5. M.,
          <year>2017</year>
          , p.
          <fpage>193</fpage>
          -
          <lpage>207</lpage>
          , URL: https://www.computer-museum.ru/books/SORUCOM_
          <year>2017</year>
          _
          <article-title>1</article-title>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Nepejvoda</surname>
            ,
            <given-names>N.N.</given-names>
          </string-name>
          :
          <article-title>Constructive mathematics: overview of advantages, disadvantages and lessons I, Logical Investigations</article-title>
          : Almanac,
          <volume>17</volume>
          ,
          <fpage>191</fpage>
          -
          <lpage>239</lpage>
          (
          <year>2011</year>
          ), DOI: 10.21146/2074-1472- 2011-17-0-
          <fpage>191</fpage>
          -239.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Nepejvoda</surname>
            ,
            <given-names>N.N.</given-names>
          </string-name>
          :
          <article-title>Additive representations of numbers: some remarks</article-title>
          .
          <source>Program Systems: Theory and Applications</source>
          ,
          <volume>8</volume>
          :
          <issue>4</issue>
          (
          <issue>35</issue>
          ),
          <fpage>101</fpage>
          -
          <lpage>115</lpage>
          (
          <year>2017</year>
          ), DOI: 10.25209/2079-3316-2017-8-4-
          <fpage>101</fpage>
          -115.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Nepejvoda</surname>
            ,
            <given-names>N.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grigorevsky</surname>
            ,
            <given-names>I.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lilitko</surname>
            ,
            <given-names>E.P.</given-names>
          </string-name>
          :
          <article-title>On representation of real numbers</article-title>
          .
          <source>Program Systems: Theory and Applications</source>
          ,
          <volume>5</volume>
          :
          <issue>4</issue>
          (
          <issue>22</issue>
          ),
          <fpage>105</fpage>
          -
          <lpage>121</lpage>
          (
          <year>2014</year>
          ). URL: http://psta.psiras.ru/read/psta2014_4_
          <fpage>105</fpage>
          -
          <lpage>121</lpage>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Nepejvoda</surname>
            ,
            <given-names>N.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grigorevsky</surname>
            ,
            <given-names>I.N.:</given-names>
          </string-name>
          <article-title>Some Issues on Linear Numeration Systems</article-title>
          .
          <source>IOSR Journal of Mathematics (IOSR-JM)</source>
          ,
          <volume>15</volume>
          (
          <issue>6</issue>
          ), Series 4,
          <fpage>47</fpage>
          -
          <lpage>50</lpage>
          (
          <year>2019</year>
          ), URL: http://www.iosrjournals.org/iosr-jm/papers/Vol15-issue6/Series-4/E1506044750.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Nepejvoda</surname>
            ,
            <given-names>N.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grigorevsky</surname>
            ,
            <given-names>I.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klimov</surname>
            ,
            <given-names>And.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klimov</surname>
            ,
            <given-names>Yu.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Romanenko</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          :
          <article-title>Computational Aspects of Various Number Representations</article-title>
          .
          <source>Test Engineering and Management</source>
          ,
          <volume>83</volume>
          ,
          <fpage>28224</fpage>
          -
          <lpage>28231</lpage>
          (
          <year>2020</year>
          ). URL: http://www.testmagzine.biz/index.php/testmagzine/article/view/12901.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Shvorin</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          :
          <article-title>Parallel Addition of Real Numbers in Overlaying Numeration Systems</article-title>
          .
          <source>Program Systems: Theory and Applications</source>
          ,
          <volume>6</volume>
          :
          <issue>2</issue>
          (
          <issue>25</issue>
          ),
          <fpage>101</fpage>
          -
          <lpage>117</lpage>
          (
          <year>2015</year>
          ). DOI:
          <volume>10</volume>
          .25209/2079- 3316-2015-6-2-
          <fpage>101</fpage>
          -117.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Shvorin</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          :
          <article-title>Digit-Wise Parallel Addition of Real Numbers in Overlaying Numeration Systems</article-title>
          . Asian Academic Research Journal,
          <volume>3</volume>
          (
          <issue>1</issue>
          ) (
          <year>2016</year>
          ), URL: https://pat.keldysh.ru/~art/publications/2016-01
          <article-title>-</article-title>
          <string-name>
            <surname>Shvorin-</surname>
          </string-name>
          Parallel-Addition.pdf.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>