Project Name: OxfordHED+sunbear
Language: Python
Statement Type: Arithmetic Assignment

Source Code:
def _test_forward_nd_slanted_pot(n, ndim, abs=None):
    x = np.arange(n) - n / 2.0
    xs = np.meshgrid(*([x]*ndim), indexing="ij")
    xs_sq = reduce(lambda x,y:x+y*y, xs, 0.0)

    # phi is slanted on the first dimension, so the target will be shifted
    # source on the first dimension by A
    A = n / 6.0
    sigma = (n/30.)
    source = np.exp(-xs_sq / (2*sigma**2))
    source_copy = np.copy(source)
    phi = xs[0] * A
    target = sb.forward(source, phi)

    xs2 = np.copy(xs)
    xs2[0] -= A
    xs2_sq = reduce(lambda x,y:x+y*y, xs2, 0.0)
    target_calc = np.exp(-xs2_sq / (2*sigma**2))

    # accurate within 2.5*(1/n)*100%
    abs = 2.5/n if abs is None else abs
    assert target == pytest.approx(target_calc, abs=abs)

    # check the dimension of target
    assert np.ndim(target) == ndim

    # make sure the source is not changed
    assert np.all(source == source_copy)

_test_forward_nd_slanted_pot(n=100, ndim=1, abs=None)

Selected Statement: x = np.arange(n) - n / 2.0

Function Input:
n: 100
ndim: 1
abs: None

Variable Values Before Statement:

Value After Statement Execution: array([-50., -49., -48., -47., -46., -45., -44., -43., -42., -41., -40.,       -39., -38., -37., -36., -35., -34., -33., -32., -31., -30., -29.,       -28., -27., -26., -25., -24., -23., -22., -21., -20., -19., -18.,       -17., -16., -15., -14., -13., -12., -11., -10.,  -9.,  -8.,  -7.,        -6.,  -5.,  -4.,  -3.,  -2.,  -1.,   0.,   1.,   2.,   3.,   4.,         5.,   6.,   7.,   8.,   9.,  10.,  11.,  12.,  13.,  14.,  15.,        16.,  17.,  18.,  19.,  20.,  21.,  22.,  23.,  24.,  25.,  26.,        27.,  28.,  29.,  30.,  31.,  32.,  33.,  34.,  35.,  36.,  37.,        38.,  39.,  40.,  41.,  42.,  43.,  44.,  45.,  46.,  47.,  48.,        49.])

Variable States During Runtime (line, value):
n: 1
100
ndim: 1
1
abs: 1
None
21
0.025
x: 2
array([-50., -49., -48., -47., -46., -45., -44., -43., -42., -41., -40.,       -39., -38., -37., -36., -35., -34., -33., -32., -31., -30., -29.,       -28., -27., -26., -25., -24., -23., -22., -21., -20., -19., -18.,       -17., -16., -15., -14., -13., -12., -11., -10.,  -9.,  -8.,  -7.,        -6.,  -5.,  -4.,  -3.,  -2.,  -1.,   0.,   1.,   2.,   3.,   4.,         5.,   6.,   7.,   8.,   9.,  10.,  11.,  12.,  13.,  14.,  15.,        16.,  17.,  18.,  19.,  20.,  21.,  22.,  23.,  24.,  25.,  26.,        27.,  28.,  29.,  30.,  31.,  32.,  33.,  34.,  35.,  36.,  37.,        38.,  39.,  40.,  41.,  42.,  43.,  44.,  45.,  46.,  47.,  48.,        49.])
xs: 3
[array([-50., -49., -48., -47., -46., -45., -44., -43., -42., -41., -40.,       -39., -38., -37., -36., -35., -34., -33., -32., -31., -30., -29.,       -28., -27., -26., -25., -24., -23., -22., -21., -20., -19., -18.,       -17., -16., -15., -14., -13., -12., -11., -10.,  -9.,  -8.,  -7.,        -6.,  -5.,  -4.,  -3.,  -2.,  -1.,   0.,   1.,   2.,   3.,   4.,         5.,   6.,   7.,   8.,   9.,  10.,  11.,  12.,  13.,  14.,  15.,        16.,  17.,  18.,  19.,  20.,  21.,  22.,  23.,  24.,  25.,  26.,        27.,  28.,  29.,  30.,  31.,  32.,  33.,  34.,  35.,  36.,  37.,        38.,  39.,  40.,  41.,  42.,  43.,  44.,  45.,  46.,  47.,  48.,        49.])]
xs_sq: 4
array([2.500e+03, 2.401e+03, 2.304e+03, 2.209e+03, 2.116e+03, 2.025e+03,       1.936e+03, 1.849e+03, 1.764e+03, 1.681e+03, 1.600e+03, 1.521e+03,       1.444e+03, 1.369e+03, 1.296e+03, 1.225e+03, 1.156e+03, 1.089e+03,       1.024e+03, 9.610e+02, 9.000e+02, 8.410e+02, 7.840e+02, 7.290e+02,       6.760e+02, 6.250e+02, 5.760e+02, 5.290e+02, 4.840e+02, 4.410e+02,       4.000e+02, 3.610e+02, 3.240e+02, 2.890e+02, 2.560e+02, 2.250e+02,       1.960e+02, 1.690e+02, 1.440e+02, 1.210e+02, 1.000e+02, 8.100e+01,       6.400e+01, 4.900e+01, 3.600e+01, 2.500e+01, 1.600e+01, 9.000e+00,       4.000e+00, 1.000e+00, 0.000e+00, 1.000e+00, 4.000e+00, 9.000e+00,       1.600e+01, 2.500e+01, 3.600e+01, 4.900e+01, 6.400e+01, 8.100e+01,       1.000e+02, 1.210e+02, 1.440e+02, 1.690e+02, 1.960e+02, 2.250e+02,       2.560e+02, 2.890e+02, 3.240e+02, 3.610e+02, 4.000e+02, 4.410e+02,       4.840e+02, 5.290e+02, 5.760e+02, 6.250e+02, 6.760e+02, 7.290e+02,       7.840e+02, 8.410e+02, 9.000e+02, 9.610e+02, 1.024e+03, 1.089e+03,       1.156e+03, 1.225e+03, 1.296e+03, 1.369e+03, 1.444e+03, 1.521e+03,       1.600e+03, 1.681e+03, 1.764e+03, 1.849e+03, 1.936e+03, 2.025e+03,       2.116e+03, 2.209e+03, 2.304e+03, 2.401e+03])
A: 8
16.666666666666668
sigma: 9
3.3333333333333335
source: 10
array([1.38634329e-49, 1.19303368e-47, 9.38313827e-46, 6.74461286e-44,       4.43077231e-42, 2.66020642e-40, 1.45970379e-38, 7.32027899e-37,       3.35508886e-35, 1.40538048e-33, 5.38018616e-32, 1.88240985e-30,       6.01928028e-29, 1.75909155e-27, 4.69835486e-26, 1.14687658e-24,       2.55859208e-23, 5.21673666e-22, 9.72098502e-21, 1.65552266e-19,       2.57675711e-18, 3.66543340e-17, 4.76530474e-16, 5.66199552e-15,       6.14839641e-14, 6.10193668e-13, 5.53461007e-12, 4.58796249e-11,       3.47589128e-10, 2.40672244e-09, 1.52299797e-08, 8.80817920e-08,       4.65571572e-07, 2.24905597e-06, 9.92950431e-06, 4.00652974e-05,       1.47748360e-04, 4.97955422e-04, 1.53381068e-03, 4.31784001e-03,       1.11089965e-02, 2.61214099e-02, 5.61347628e-02, 1.10250525e-01,       1.97898699e-01, 3.24652467e-01, 4.86752256e-01, 6.66976811e-01,       8.35270211e-01, 9.55997482e-01, 1.00000000e+00, 9.55997482e-01,       8.35270211e-01, 6.66976811e-01, 4.86752256e-01, 3.24652467e-01,       1.97898699e-01, 1.10250525e-01, 5.61347628e-02, 2.61214099e-02,       1.11089965e-02, 4.31784001e-03, 1.53381068e-03, 4.97955422e-04,       1.47748360e-04, 4.00652974e-05, 9.92950431e-06, 2.24905597e-06,       4.65571572e-07, 8.80817920e-08, 1.52299797e-08, 2.40672244e-09,       3.47589128e-10, 4.58796249e-11, 5.53461007e-12, 6.10193668e-13,       6.14839641e-14, 5.66199552e-15, 4.76530474e-16, 3.66543340e-17,       2.57675711e-18, 1.65552266e-19, 9.72098502e-21, 5.21673666e-22,       2.55859208e-23, 1.14687658e-24, 4.69835486e-26, 1.75909155e-27,       6.01928028e-29, 1.88240985e-30, 5.38018616e-32, 1.40538048e-33,       3.35508886e-35, 7.32027899e-37, 1.45970379e-38, 2.66020642e-40,       4.43077231e-42, 6.74461286e-44, 9.38313827e-46, 1.19303368e-47])
source_copy: 11
array([1.38634329e-49, 1.19303368e-47, 9.38313827e-46, 6.74461286e-44,       4.43077231e-42, 2.66020642e-40, 1.45970379e-38, 7.32027899e-37,       3.35508886e-35, 1.40538048e-33, 5.38018616e-32, 1.88240985e-30,       6.01928028e-29, 1.75909155e-27, 4.69835486e-26, 1.14687658e-24,       2.55859208e-23, 5.21673666e-22, 9.72098502e-21, 1.65552266e-19,       2.57675711e-18, 3.66543340e-17, 4.76530474e-16, 5.66199552e-15,       6.14839641e-14, 6.10193668e-13, 5.53461007e-12, 4.58796249e-11,       3.47589128e-10, 2.40672244e-09, 1.52299797e-08, 8.80817920e-08,       4.65571572e-07, 2.24905597e-06, 9.92950431e-06, 4.00652974e-05,       1.47748360e-04, 4.97955422e-04, 1.53381068e-03, 4.31784001e-03,       1.11089965e-02, 2.61214099e-02, 5.61347628e-02, 1.10250525e-01,       1.97898699e-01, 3.24652467e-01, 4.86752256e-01, 6.66976811e-01,       8.35270211e-01, 9.55997482e-01, 1.00000000e+00, 9.55997482e-01,       8.35270211e-01, 6.66976811e-01, 4.86752256e-01, 3.24652467e-01,       1.97898699e-01, 1.10250525e-01, 5.61347628e-02, 2.61214099e-02,       1.11089965e-02, 4.31784001e-03, 1.53381068e-03, 4.97955422e-04,       1.47748360e-04, 4.00652974e-05, 9.92950431e-06, 2.24905597e-06,       4.65571572e-07, 8.80817920e-08, 1.52299797e-08, 2.40672244e-09,       3.47589128e-10, 4.58796249e-11, 5.53461007e-12, 6.10193668e-13,       6.14839641e-14, 5.66199552e-15, 4.76530474e-16, 3.66543340e-17,       2.57675711e-18, 1.65552266e-19, 9.72098502e-21, 5.21673666e-22,       2.55859208e-23, 1.14687658e-24, 4.69835486e-26, 1.75909155e-27,       6.01928028e-29, 1.88240985e-30, 5.38018616e-32, 1.40538048e-33,       3.35508886e-35, 7.32027899e-37, 1.45970379e-38, 2.66020642e-40,       4.43077231e-42, 6.74461286e-44, 9.38313827e-46, 1.19303368e-47])
phi: 12
array([-833.33333333, -816.66666667, -800.        , -783.33333333,       -766.66666667, -750.        , -733.33333333, -716.66666667,       -700.        , -683.33333333, -666.66666667, -650.        ,       -633.33333333, -616.66666667, -600.        , -583.33333333,       -566.66666667, -550.        , -533.33333333, -516.66666667,       -500.        , -483.33333333, -466.66666667, -450.        ,       -433.33333333, -416.66666667, -400.        , -383.33333333,       -366.66666667, -350.        , -333.33333333, -316.66666667,       -300.        , -283.33333333, -266.66666667, -250.        ,       -233.33333333, -216.66666667, -200.        , -183.33333333,       -166.66666667, -150.        , -133.33333333, -116.66666667,       -100.        ,  -83.33333333,  -66.66666667,  -50.        ,        -33.33333333,  -16.66666667,    0.        ,   16.66666667,         33.33333333,   50.        ,   66.66666667,   83.33333333,        100.        ,  116.66666667,  133.33333333,  150.        ,        166.66666667,  183.33333333,  200.        ,  216.66666667,        233.33333333,  250.        ,  266.66666667,  283.33333333,        300.        ,  316.66666667,  333.33333333,  350.        ,        366.66666667,  383.33333333,  400.        ,  416.66666667,        433.33333333,  450.        ,  466.66666667,  483.33333333,        500.        ,  516.66666667,  533.33333333,  550.        ,        566.66666667,  583.33333333,  600.        ,  616.66666667,        633.33333333,  650.        ,  666.66666667,  683.33333333,        700.        ,  716.66666667,  733.33333333,  750.        ,        766.66666667,  783.33333333,  800.        ,  816.66666667])
target: 13
array([0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,       0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,       0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,       0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,       0.00000000e+00, 4.06920181e-48, 3.20724834e-46, 2.31075854e-44,       1.52188819e-42, 9.16273954e-41, 5.04302641e-39, 2.53740658e-37,       1.16716481e-35, 4.90827418e-34, 1.88708742e-32, 6.63337857e-31,       2.13192075e-29, 6.26492385e-28, 1.68339106e-26, 4.13614560e-25,       9.29322466e-24, 1.90948503e-22, 3.58811078e-21, 6.16647454e-20,       9.69287214e-19, 1.39359494e-17, 1.83279714e-16, 2.20501882e-15,       2.42693184e-14, 2.44387199e-13, 2.25166580e-12, 1.89829483e-11,       1.46449459e-10, 1.03396690e-09, 6.68114154e-09, 3.95139172e-08,       2.13911719e-07, 1.06006637e-06, 4.80920541e-06, 1.99747687e-05,       7.59596517e-05, 2.64484047e-04, 8.43240507e-04, 2.46182046e-03,       6.58155885e-03, 1.61131343e-02, 3.61258608e-02, 7.41733503e-02,       1.39466583e-01, 2.40149955e-01, 3.78685730e-01, 5.46827108e-01,       7.23074611e-01, 8.75512635e-01, 9.70664988e-01, 9.85332494e-01,       9.15755058e-01, 7.79172411e-01, 6.06901959e-01, 4.32718993e-01,       2.82401211e-01, 1.68682641e-01, 9.22119378e-02, 4.61303118e-02,       2.11172721e-02, 8.84527769e-03, 3.38983023e-03, 1.18852559e-03,       3.81219734e-04, 1.11854006e-04, 3.00200330e-05, 7.36935486e-06,       1.65456117e-06, 3.39741645e-07, 6.37978546e-08, 1.09555606e-08,       1.72034467e-09, 2.47019294e-10, 3.24312866e-11, 3.89313794e-12,       4.27290433e-13, 4.28766413e-14, 3.93350717e-15, 3.29905094e-16,       2.52951417e-17, 1.77302216e-18, 1.13608506e-19, 6.65454790e-21])
xs2: 15
array([[-50., -49., -48., -47., -46., -45., -44., -43., -42., -41., -40.,        -39., -38., -37., -36., -35., -34., -33., -32., -31., -30., -29.,        -28., -27., -26., -25., -24., -23., -22., -21., -20., -19., -18.,        -17., -16., -15., -14., -13., -12., -11., -10.,  -9.,  -8.,  -7.,         -6.,  -5.,  -4.,  -3.,  -2.,  -1.,   0.,   1.,   2.,   3.,   4.,          5.,   6.,   7.,   8.,   9.,  10.,  11.,  12.,  13.,  14.,  15.,         16.,  17.,  18.,  19.,  20.,  21.,  22.,  23.,  24.,  25.,  26.,         27.,  28.,  29.,  30.,  31.,  32.,  33.,  34.,  35.,  36.,  37.,         38.,  39.,  40.,  41.,  42.,  43.,  44.,  45.,  46.,  47.,  48.,         49.]])
16
array([[-66.66666667, -65.66666667, -64.66666667, -63.66666667,        -62.66666667, -61.66666667, -60.66666667, -59.66666667,        -58.66666667, -57.66666667, -56.66666667, -55.66666667,        -54.66666667, -53.66666667, -52.66666667, -51.66666667,        -50.66666667, -49.66666667, -48.66666667, -47.66666667,        -46.66666667, -45.66666667, -44.66666667, -43.66666667,        -42.66666667, -41.66666667, -40.66666667, -39.66666667,        -38.66666667, -37.66666667, -36.66666667, -35.66666667,        -34.66666667, -33.66666667, -32.66666667, -31.66666667,        -30.66666667, -29.66666667, -28.66666667, -27.66666667,        -26.66666667, -25.66666667, -24.66666667, -23.66666667,        -22.66666667, -21.66666667, -20.66666667, -19.66666667,        -18.66666667, -17.66666667, -16.66666667, -15.66666667,        -14.66666667, -13.66666667, -12.66666667, -11.66666667,        -10.66666667,  -9.66666667,  -8.66666667,  -7.66666667,         -6.66666667,  -5.66666667,  -4.66666667,  -3.66666667,         -2.66666667,  -1.66666667,  -0.66666667,   0.33333333,          1.33333333,   2.33333333,   3.33333333,   4.33333333,          5.33333333,   6.33333333,   7.33333333,   8.33333333,          9.33333333,  10.33333333,  11.33333333,  12.33333333,         13.33333333,  14.33333333,  15.33333333,  16.33333333,         17.33333333,  18.33333333,  19.33333333,  20.33333333,         21.33333333,  22.33333333,  23.33333333,  24.33333333,         25.33333333,  26.33333333,  27.33333333,  28.33333333,         29.33333333,  30.33333333,  31.33333333,  32.33333333]])
xs2_sq: 17
array([4.44444444e+03, 4.31211111e+03, 4.18177778e+03, 4.05344444e+03,       3.92711111e+03, 3.80277778e+03, 3.68044444e+03, 3.56011111e+03,       3.44177778e+03, 3.32544444e+03, 3.21111111e+03, 3.09877778e+03,       2.98844444e+03, 2.88011111e+03, 2.77377778e+03, 2.66944444e+03,       2.56711111e+03, 2.46677778e+03, 2.36844444e+03, 2.27211111e+03,       2.17777778e+03, 2.08544444e+03, 1.99511111e+03, 1.90677778e+03,       1.82044444e+03, 1.73611111e+03, 1.65377778e+03, 1.57344444e+03,       1.49511111e+03, 1.41877778e+03, 1.34444444e+03, 1.27211111e+03,       1.20177778e+03, 1.13344444e+03, 1.06711111e+03, 1.00277778e+03,       9.40444444e+02, 8.80111111e+02, 8.21777778e+02, 7.65444444e+02,       7.11111111e+02, 6.58777778e+02, 6.08444444e+02, 5.60111111e+02,       5.13777778e+02, 4.69444444e+02, 4.27111111e+02, 3.86777778e+02,       3.48444444e+02, 3.12111111e+02, 2.77777778e+02, 2.45444444e+02,       2.15111111e+02, 1.86777778e+02, 1.60444444e+02, 1.36111111e+02,       1.13777778e+02, 9.34444444e+01, 7.51111111e+01, 5.87777778e+01,       4.44444444e+01, 3.21111111e+01, 2.17777778e+01, 1.34444444e+01,       7.11111111e+00, 2.77777778e+00, 4.44444444e-01, 1.11111111e-01,       1.77777778e+00, 5.44444444e+00, 1.11111111e+01, 1.87777778e+01,       2.84444444e+01, 4.01111111e+01, 5.37777778e+01, 6.94444444e+01,       8.71111111e+01, 1.06777778e+02, 1.28444444e+02, 1.52111111e+02,       1.77777778e+02, 2.05444444e+02, 2.35111111e+02, 2.66777778e+02,       3.00444444e+02, 3.36111111e+02, 3.73777778e+02, 4.13444444e+02,       4.55111111e+02, 4.98777778e+02, 5.44444444e+02, 5.92111111e+02,       6.41777778e+02, 6.93444444e+02, 7.47111111e+02, 8.02777778e+02,       8.60444444e+02, 9.20111111e+02, 9.81777778e+02, 1.04544444e+03])
target_calc: 18
array([1.38389653e-87, 5.33736937e-85, 1.88132746e-82, 6.06059172e-80,       1.78434636e-77, 4.80127724e-75, 1.18072268e-72, 2.65370429e-70,       5.45093048e-68, 1.02329831e-65, 1.75568810e-63, 2.75299848e-61,       3.94528221e-59, 5.16729996e-57, 6.18532849e-55, 6.76667568e-53,       6.76552418e-51, 6.18217132e-49, 5.16290482e-47, 3.94058498e-45,       2.74878501e-43, 1.75240444e-41, 1.02103685e-39, 5.43703314e-38,       2.64603779e-36, 1.17691094e-34, 4.78414856e-33, 1.77737558e-31,       6.03486081e-30, 1.87270255e-28, 5.31109225e-27, 1.37661464e-25,       3.26102718e-24, 7.06008534e-23, 1.39694394e-21, 2.52616378e-20,       4.17501006e-19, 6.30618989e-18, 8.70542662e-17, 1.09831413e-15,       1.26641655e-14, 1.33456608e-13, 1.28533723e-12, 1.13137762e-11,       9.10147076e-11, 6.69158609e-10, 4.49634946e-09, 2.76124246e-08,       1.54975314e-07, 7.94939362e-07, 3.72665317e-06, 1.59667839e-05,       6.25215038e-05, 2.23745794e-04, 7.31802419e-04, 2.18749112e-03,       5.97602290e-03, 1.49207861e-02, 3.40474547e-02, 7.10053537e-02,       1.35335283e-01, 2.35746077e-01, 3.75311099e-01, 5.46074427e-01,       7.26149037e-01, 8.82496903e-01, 9.80198673e-01, 9.95012479e-01,       9.23116346e-01, 7.82704538e-01, 6.06530660e-01, 4.29557358e-01,       2.78037300e-01, 1.64474457e-01, 8.89216175e-02, 4.39369336e-02,       1.98410947e-02, 8.18870101e-03, 3.08871541e-03, 1.06476624e-03,       3.35462628e-04, 9.65934137e-05, 2.54193465e-05, 6.11356797e-06,       1.34381228e-06, 2.69957850e-07, 4.95640532e-08, 8.31670246e-09,       1.27540763e-09, 1.78755887e-10, 2.28973485e-11, 2.68054764e-12,       2.86797501e-13, 2.80440474e-14, 2.50622189e-15, 2.04697171e-16,       1.52797997e-17, 1.04240618e-18, 6.49934797e-20, 3.70353198e-21])
@py_assert3: 22
None
@py_assert7: 22
None
@py_assert1: 22
None
@py_assert4: 25
None
@py_assert6: 25
None
@py_assert8: 28
None