
Begin test
Now print a real number: 3.14159
Add P1 1
Add P2 2
Add P3 3
locate P3 3
locate P4 0
locate P2 2
number of parameters = 3
Add P4 4
Add P5 5
Name 4 = P4
Name 2 = P2
Name 2 = P2
Name 3 = P3
Name 1 = P1
Name 5 = P5
locate P3 3
locate P4 4
locate P2 2
number of parameters = 5

This is a test of AssertEqual - should throw exception


An exception has been thrown
Logic error:- Different parameter sets

Doing test1
       7.92335792
       7.92335792
    -3.5106711422    -16.3662993427      4.9382317633      2.5728848501 

       7.92335792
    -3.5106711422    -16.3662993427      4.9382317633      2.5728848501 

   -19.8739668672      0.0000000000      0.0000000000      8.3117307079 
     0.0000000000     43.3476111532     -9.1893876152      0.0000000000 
     0.0000000000     -9.1893876152      1.3863648971      0.0000000000 
     8.3117307079      0.0000000000      0.0000000000      1.3023857632 


Doing test2
       7.92335792
       7.92335792
    -3.5106711422    -16.3662993427      4.9382317633      2.5728848501 

       7.92335792
    -3.5106711422    -16.3662993427      4.9382317633      2.5728848501 

   -19.8739668672      0.0000000000      0.0000000000      8.3117307079 
     0.0000000000     43.3476111532     -9.1893876152      0.0000000000 
     0.0000000000     -9.1893876152      1.3863648971      0.0000000000 
     8.3117307079      0.0000000000      0.0000000000      1.3023857632 


Doing test3
      95.67627179
      95.67627179
    20.3027806045      0.6539746988     30.0519677770     57.1995101074 

      95.67627179
    20.3027806045      0.6539746988     30.0519677770     57.1995101074 

    -0.0527901543      3.0000883333      7.7768696567      0.0000000000 
     3.0000883333      0.1390932858      0.0000000000      0.0000000000 
     7.7768696567      0.0000000000      1.4824827861     16.0582566276 
     0.0000000000      0.0000000000     16.0582566276     44.9552325203 


Doing test4
      95.67627179
      95.67627179
    20.3027806045      0.6539746988     30.0519677770     57.1995101074 

      95.67627179
    20.3027806045      0.6539746988     30.0519677770     57.1995101074 

    -0.0527901543      3.0000883333      7.7768696567      0.0000000000 
     3.0000883333      0.1390932858      0.0000000000      0.0000000000 
     7.7768696567      0.0000000000      1.4824827861     16.0582566276 
     0.0000000000      0.0000000000     16.0582566276     44.9552325203 


Doing test5
     -1.425451322
     -1.425451322
     0.7484791643     -0.6679193042     -0.7172774089      0.3390547883 

     -1.425451322
     0.7484791643     -0.6679193042     -0.7172774089      0.3390547883 

    -0.6773567098     -0.0364524254      0.3245599135     -0.1921309762 
    -0.0364524254      0.6044518590     -0.4126213906      0.3377599585 
     0.3245599135     -0.4126213906     -0.2013692894      0.2683417167 
    -0.1921309762      0.3377599585      0.2683417167     -0.2536885808 


Doing test6
     -1.425451322
     -1.425451322
     0.7484791643     -0.6679193042     -0.7172774089      0.3390547883 

     -1.425451322
     0.7484791643     -0.6679193042     -0.7172774089      0.3390547883 

    -0.6773567098     -0.0364524254      0.3245599135     -0.1921309762 
    -0.0364524254      0.6044518590     -0.4126213906      0.3377599585 
     0.3245599135     -0.4126213906     -0.2013692894      0.2683417167 
    -0.1921309762      0.3377599585      0.2683417167     -0.2536885808 


Doing test7
     -16.87818843
     -16.87818843
   -14.8347935034    -52.0396354618      9.4768042868    -32.1057583692 

     -16.87818843
   -14.8347935034    -52.0396354618      9.4768042868    -32.1057583692 

   -23.9851147994    -45.7393427650      8.3294741737    -28.2188042584 
   -45.7393427650   -106.9673904661     29.2193349027    -98.9900052492 
     8.3294741737     29.2193349027     -7.9815869906     18.0268154796 
   -28.2188042584    -98.9900052492     18.0268154796    -24.0222658954 


Doing test8
     -16.87818843
     -16.87818843
   -14.8347935034    -52.0396354618      9.4768042868    -32.1057583692 

     -16.87818843
   -14.8347935034    -52.0396354618      9.4768042868    -32.1057583692 

   -23.9851147994    -45.7393427650      8.3294741737    -28.2188042584 
   -45.7393427650   -106.9673904661     29.2193349027    -98.9900052492 
     8.3294741737     29.2193349027     -7.9815869906     18.0268154796 
   -28.2188042584    -98.9900052492     18.0268154796    -24.0222658954 


Doing test9
    -0.5246803851
    -0.5246803851
     3.3325129643      4.2367096987     -1.7465019869      2.3273625429 

    -0.5246803851
     3.3325129643      4.2367096987     -1.7465019869      2.3273625429 

     9.1107562405     15.0077270646     -0.3572337385      0.4760443609 
    15.0077270646     14.7254354370     -0.4541604672      0.6052074762 
    -0.3572337385     -0.4541604672     -1.3468859702      2.4482266416 
     0.4760443609      0.6052074762      2.4482266416     -4.1331634269 


Doing test10
    -0.5246803851
    -0.5246803851
     3.3325129643      4.2367096987     -1.7465019869      2.3273625429 

    -0.5246803851
     3.3325129643      4.2367096987     -1.7465019869      2.3273625429 

     9.1107562405     15.0077270646     -0.3572337385      0.4760443609 
    15.0077270646     14.7254354370     -0.4541604672      0.6052074762 
    -0.3572337385     -0.4541604672     -1.3468859702      2.4482266416 
     0.4760443609      0.6052074762      2.4482266416     -4.1331634269 


Testing reverse automatic differentiation

Tape dump - elements
0  0  0  0  1  *
1  -1  1  0  1  *
2  -2  1  0  1  *
3  -3  1  0  1  *
4  -4  1  0  1  *
5  3  2  0  0  *
6  1  3  0  0  *
7  6  1  0  0  *
8  2  1  0  0
9  8  1  0  0  *
10  5  1  0  1

Tape dump - vectors
  1.0000   0.0000   0.0000   0.0000 
  0.0000   1.0000   0.0000   0.0000 
  0.0000   0.0000   1.0000   0.0000 
  0.0000   0.0000   0.0000   1.0000 


Tape N value         = 11
Tape N_largest value = 11
Tape M value         = 4

11.81
     3.0000000000      1.0000000000      2.0000000000      0.0000000000 

Doing test1
       7.92335792
    -3.5106711422    -16.3662993427      4.9382317633      2.5728848501 


Doing test2
       7.92335792
    -3.5106711422    -16.3662993427      4.9382317633      2.5728848501 


Doing test3
      95.67627179
    20.3027806045      0.6539746988     30.0519677770     57.1995101074 


Doing test4
      95.67627179
    20.3027806045      0.6539746988     30.0519677770     57.1995101074 


Doing test5
     -1.425451322
     0.7484791643     -0.6679193042     -0.7172774089      0.3390547883 


Doing test6
     -1.425451322
     0.7484791643     -0.6679193042     -0.7172774089      0.3390547883 


Doing test7
     -16.87818843
   -14.8347935034    -52.0396354618      9.4768042868    -32.1057583692 


Doing test8
     -16.87818843
   -14.8347935034    -52.0396354618      9.4768042868    -32.1057583692 


Doing test9
    -0.5246803851
     3.3325129643      4.2367096987     -1.7465019869      2.3273625429 


Doing test10
    -0.5246803851
     3.3325129643      4.2367096987     -1.7465019869      2.3273625429 


Doing test9X
    -0.5246803851
     3.3325129643      4.2367096987     -1.7465019869      2.3273625429 


Doing test9Y
Tape N value before purge = 20
Tape N value after purge  = 10
    -0.5246803851
     3.3325129643      4.2367096987     -1.7465019869      2.3273625429 


Tape N value         = 14
Tape N_largest value = 42
Tape M value         = 7

Griewank P5 - forward method
value:            2.0166
derivatives:     3.01184  -13.72396 

Griewank P5 - reverse method
value:            2.0166
derivatives:     3.01184  -13.72396 

Number of tape locations used = 13

Tape dump - elements
0  0  0  0  1  *
1  -1  1  3.0118  1  *
2  -2  1  -13.724  1  *
3  1  2  3.0118  0  *
4  2  -6  -9.0355  1
5  2  1.6487  -4.6884  0  *
6  4  1  2.8437  0  *
7  5  -1  -2.8437  1
8  4  -0.98999  -1.3378  0  *
9  8  1  1.3513  0  *
10  7  1  1.3513  0
11  10  1.3513  1.3513  0  *
12  7  1.4924  1.4924  0

Tape dump - vectors
  1.0000   0.0000 
  0.0000   1.0000 


Tape dump - elements
0  0  0  0  5  *
1  -1  1  3.012  0  *
2  -2  1  -13.72  0  *
3  1  2  3.012  0  *
4  2  -6  -9.036  0
5  2  1.649  -4.688  0  *
6  4  1  2.844  0  *
7  5  -1  -2.844  0
8  4  -0.99  -1.338  0  *
9  8  1  1.351  0  *
10  7  1  1.351  0
11  10  1.351  1.351  0  *
12  7  1.492  1.492  0

Tape dump - vectors
  1.0000   0.0000 
  0.0000   1.0000 


Tape dump - elements
0  0  0  0  3  *
1  -1  1  3.012  0  *
2  -2  1  -13.72  0  *
3  1  2  3.012  0  *
4  2  -6  -9.036  0
5  2  1.649  -4.688  0  *
6  4  1  2.844  0  *
7  5  -1  -2.844  0
8  4  -0.99  -1.338  0  *
9  8  1  1.351  0  *
10  7  1  1.351  0
11  10  1.351  1.351  0  *
12  7  1.492  1.492  0

Tape dump - vectors
  1.0000   0.0000 
  0.0000   1.0000 


Tape dump - elements
0  0  0  0  3  *

Tape dump - vectors

Griewank P5 - reverse method with purge
value:            2.0166
derivatives:     3.01184  -13.72396 

Number of tape locations used = 4

Tape dump - elements
0  0  0  0  1  *
1  0  1  1  0  *
2  -2  -13.724  -13.724  0
3  -1  3.0118  3.0118  1

Tape dump - vectors
  1.0000   0.0000 
  0.0000   1.0000 


Integration example using forward differentiation

value:            4.0292
derivatives:     6.29466    4.02924 

Should be
value:            4.0292
derivatives:      6.2947     4.0292

Integration example using reverse differentiation
Number of tape locations before purge = 212
Number of tape locations after purge  = 6

value:            4.0292
derivatives:     6.29466    4.02924 

Should be
value:            4.0292
derivatives:      6.2947     4.0292


(The following memory checks are probably not valid with all
compilers - see documentation)

Checking for lost memory (large block): 9388472 9388472  - ok


Checking for lost memory (small block): 9388472 9388472  - ok

