math.log/1 on complex, imaginary part

Time bar (total: 602.0ms)

analyze1.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
50%50%50%0.1%0%0%0%2
75%74.9%25%0.1%0%0%0%3
87.5%87.4%12.5%0.1%0%0%0%4
93.8%93.7%6.2%0.1%0%0%0%5
96.9%96.8%3.1%0.1%0%0%0%6
98.4%98.3%1.6%0.1%0%0%0%7
99.2%99.1%0.8%0.1%0%0%0%8
99.6%99.5%0.4%0.1%0%0%0%9
99.8%99.7%0.2%0.1%0%0%0%10
99.9%99.8%0.1%0.1%0%0%0%11
100%99.9%0%0.1%0%0%0%12
Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-atan2: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample465.0ms (77.4%)

Results
308.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 85.0ms
ival-atan2: 75.0ms (87.9% of total)
const: 7.0ms (8.2% of total)
backward-pass: 3.0ms (3.5% of total)
Bogosity

preprocess12.0ms (2%)

Algorithm
egg-herbie
Rules
32×sum3-define
24×sub-neg
16×fma-define
16×fmsub-define
16×+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
12024
22824
33324
45724
57024
68524
79724
033
033
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(atan2 im re)
Outputs
(atan2 im re)
(atan2.f64 im re)
Call 2
Inputs
(atan2 im re)
(atan2 im (neg re))
(atan2 (neg im) re)
(neg (atan2 im (neg re)))
(neg (atan2 (neg im) re))
(atan2 re im)
Outputs
(atan2 im re)
(atan2 im (neg re))
(atan2 (neg im) re)
(neg (atan2 im (neg re)))
(neg (atan2 (neg im) re))
(atan2 re im)

explain35.0ms (5.8%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-im
00-0-(atan2.f64 im re)
00-0-re
Results
22.0ms512×0valid
Compiler

Compiled 21 to 11 computations (47.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-atan2: 8.0ms (91.9% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(atan2.f64 im re)
Compiler

Compiled 5 to 3 computations (40% saved)

simplify3.0ms (0.5%)

Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff0
(atan2.f64 im re)
Rules
atan2-lowering-atan2.f32
atan2-lowering-atan2.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035
035
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(atan2 im re)
im
re
Outputs
(atan2 im re)
(atan2.f64 im re)
im
re

localize17.0ms (2.7%)

Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(atan2.f64 im re)
Results
12.0ms256×0valid
Compiler

Compiled 8 to 4 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-atan2: 5.0ms (94.3% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series0.0ms (0.1%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (atan2 im re)>
Outputs
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
#<alt (atan2 im re)>
Calls

6 calls:

TimeVariablePointExpression
0.0ms
im
@0
(atan2 im re)
0.0ms
im
@-inf
(atan2 im re)
0.0ms
re
@-inf
(atan2 im re)
0.0ms
im
@inf
(atan2 im re)
0.0ms
re
@inf
(atan2 im re)

rewrite29.0ms (4.9%)

Algorithm
batch-egg-rewrite
Rules
atan2-lowering-atan2.f32
atan2-lowering-atan2.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
033
Stop Event
iter limit
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(atan2 im re)
Outputs
(atan2.f64 im re)

simplify4.0ms (0.7%)

Algorithm
egg-herbie
Rules
atan2-lowering-atan2.f32
atan2-lowering-atan2.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0372
0372
Stop Event
iter limit
saturated
Counts
24 → 24
Calls
Call 1
Inputs
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
(atan2 im re)
Outputs
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)
(atan2 im re)
(atan2.f64 im re)

eval2.0ms (0.4%)

Compiler

Compiled 77 to 3 computations (96.1% saved)

prune1.0ms (0.2%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New25025
Fresh000
Picked011
Done000
Total25126
Accuracy
100.0%
Counts
26 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(atan2.f64 im re)
Compiler

Compiled 10 to 6 computations (40% saved)

simplify10.0ms (1.6%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
Stop Event
saturated
Calls
Call 1
Inputs
(atan2.f64 im re)
Outputs
(atan2.f64 im re)

soundness0.0ms (0%)

Stop Event
done
Compiler

Compiled 5 to 3 computations (40% saved)

preprocess20.0ms (3.3%)

Compiler

Compiled 20 to 12 computations (40% saved)

end0.0ms (0%)

Profiling

Loading profile data...