I’m running v0.5 memory allocation analysis of the following code and cannot understand the allocations occurring on the line with ^ compared with using *
function myTest(n)
a=zeros(Float64,100)
for i=1:100
a[i]=2.5^2.
end
end
function myTest1(n)
a=zeros(Float64,100)
for i=1:100
a[i]=2.5*2.5
end
end
myTest(1)
myTest1(1)
Profile.clear_malloc_data()
myTest(1)
myTest1(1)
Memory allocation output as follows:
 function myTest(n)
 a=zeros(Float64,100)
1440 for i=1:100
6400 a[i]=2.5^2.
 end
 end

 function myTest1(n)
 a=zeros(Float64,100)
1440 for i=1:100
0 a[i]=2.5*2.5
 end
 end

 myTest(1)
 myTest1(1)
 Profile.clear_malloc_data()

 myTest(1)
 myTest1(1)

