In this fragment, Cthulhu concludes that all types are concrete, known. Yet, at the bottom
it suddenly springs on me csuml
is Any
. I considered log
, and used abs
for its argument.
To no avail. Any idea how to fix it, and where it comes from?
csuml::ComplexF64 = czero::ComplexF64
453 csumn::ComplexF64 = czero::ComplexF64
454 if (lponel && llorn)
...
464 @inbounds for ii::Int64 = (1:3)::Int64::Tuple{Int64, Int64}
465 r0::Float64 = ar0::Vector{Float64}[ii::Int64]::Float64
466 ra::Float64 = ara::Vector{Float64}[ii::Int64]::Float64
467 opp::Float64 = aopp::Vector{Float64}[ii::Int64]::Float64
468 if ((r0::Float64 < ra::Float64)::Bool)
469 temp::Float64 = ra::Float64
470 ra::Float64 = r0::Float64
471 r0::Float64 = temp::Float64
472 end
473 sr0::Float64 = (r0::Float64 * r0::Float64)::Float64
474 sra::Float64 = (ra::Float64 * ra::Float64)::Float64
475 sopp::Float64 = (opp::Float64 * opp::Float64)::Float64
476 a::Float64 = acos(((((((sra::Float64 + sr0::Float64)::Float64 - sopp::Float64)::Float64) / two::Float64)::Float64 / ra::Float64)::Float64 / r0::Float64)::Float64)::Float64
477 b::Float64 = atan(((ra * sin(a::Float64)::Float64)::Float64 / ((r0::Float64 - (ra * cos(a::Float64)::Float64)::Float64)::Float64))::Float64)::Float64
478 (csuml::ComplexF64 += (((r0::Float64 * sin(b::Float64)::Float64 * ((log(abs(tan((((b::Float64 + a::Float64)::Float64) / two::Float64)::Float64)::Float64)::Float64)::Float64 - log(abs(tan((b::Float64 / two::Float64)::Float64)::Float64)::Float64)::Float64)::Float64))::Float64) / qarea::Float64)::Float64)::ComplexF64
479 (csumn::ComplexF64 +=(( (((cos((b::Float64 + a::Float64)::Float64)::Float64 - cos(b::Float64)::Float64)::Float64) / r0::Float64)::Float64 / sin(b::Float64)::Float64)::Float64 / qarea::Float64)::Float64)::ComplexF64
480 end
481 end
482 csumn::ComplexF64 = (csumn - (sko2::ComplexF64 * csuml::Any)::ComplexF64)::ComplexF64