math.log/2 on complex, real part

Time bar (total: 1.9s)

analyze165.0ms (8.7%)

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
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%49.9%0.1%0%49.9%0%4
0%0%49.9%0.1%0%49.9%0%5
0%0%49.9%0.1%0%49.9%0%6
9.4%4.7%45.2%0.1%0%49.9%0%7
17.2%8.6%41.3%0.1%0%49.9%0%8
27.3%13.7%36.3%0.1%0%49.9%0%9
41%20.5%29.4%0.1%0%49.9%0%10
48.6%24.3%25.6%0.1%0%49.9%0%11
57.1%28.5%21.4%0.1%0%49.9%0%12
Compiler

Compiled 32 to 21 computations (34.4% saved)

sample1.5s (81.7%)

Results
1.5s8256×body256valid
Bogosity

preprocess181.0ms (9.6%)

Algorithm
egg-herbie
Rules
504×associate-*r/
482×associate-*r*
386×distribute-lft-in
352×fma-def
340×associate-+l-
Problems
144×No Errors
110×(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(*.f64 (log.f64 base) (log.f64 base))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
086674
1185652
2285652
3533404
41115350
52046350
67076350
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im (neg.f64 re)) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im))))) (log.f64 base)) (*.f64 (atan2.f64 (neg.f64 im) re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 (neg.f64 base))) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))) (*.f64 0 0)))
(neg.f64 (/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im (neg.f64 re)) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0))))
(neg.f64 (/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im))))) (log.f64 base)) (*.f64 (atan2.f64 (neg.f64 im) re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0))))
(neg.f64 (/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 (neg.f64 base))) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))) (*.f64 0 0))))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re)))) (log.f64 base)) (*.f64 (atan2.f64 re im) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 base base) (*.f64 im im)))) (log.f64 re)) (*.f64 (atan2.f64 im base) 0)) (+.f64 (*.f64 (log.f64 re) (log.f64 re)) (*.f64 0 0)))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 base base)))) (log.f64 im)) (*.f64 (atan2.f64 base re) 0)) (+.f64 (*.f64 (log.f64 im) (log.f64 im)) (*.f64 0 0)))
Outputs
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (*.f64 (log.f64 base) (log.f64 (hypot.f64 re im))) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (log.f64 base) (/.f64 (*.f64 (log.f64 base) (log.f64 base)) (log.f64 (hypot.f64 re im))))
(/.f64 (log.f64 (hypot.f64 re im)) (/.f64 (log.f64 base) 1))
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (*.f64 (log.f64 base) (log.f64 (hypot.f64 re im))) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (log.f64 base) (/.f64 (*.f64 (log.f64 base) (log.f64 base)) (log.f64 (hypot.f64 re im))))
(/.f64 (log.f64 (hypot.f64 re im)) (/.f64 (log.f64 base) 1))
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im (neg.f64 re)) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (*.f64 (log.f64 base) (log.f64 (hypot.f64 re im))) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (log.f64 base) (/.f64 (*.f64 (log.f64 base) (log.f64 base)) (log.f64 (hypot.f64 re im))))
(/.f64 (log.f64 (hypot.f64 re im)) (/.f64 (log.f64 base) 1))
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im))))) (log.f64 base)) (*.f64 (atan2.f64 (neg.f64 im) re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (*.f64 (log.f64 base) (log.f64 (hypot.f64 re im))) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (log.f64 base) (/.f64 (*.f64 (log.f64 base) (log.f64 base)) (log.f64 (hypot.f64 re im))))
(/.f64 (log.f64 (hypot.f64 re im)) (/.f64 (log.f64 base) 1))
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 (neg.f64 base))) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))) (*.f64 0 0)))
(/.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 (neg.f64 base)) 0) (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))))
(/.f64 (*.f64 (log.f64 (neg.f64 base)) (log.f64 (hypot.f64 re im))) (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))))
(/.f64 (log.f64 (hypot.f64 re im)) (/.f64 (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))) (log.f64 (neg.f64 base))))
(/.f64 (log.f64 (hypot.f64 re im)) (/.f64 (log.f64 (neg.f64 base)) 1))
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 (neg.f64 base)))
(neg.f64 (/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im (neg.f64 re)) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0))))
(/.f64 (neg.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 base) 0)) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (/.f64 (neg.f64 (*.f64 (log.f64 base) (log.f64 (hypot.f64 re im)))) (log.f64 base)) (log.f64 base))
(/.f64 (/.f64 (*.f64 (log.f64 (hypot.f64 re im)) (neg.f64 (log.f64 base))) (log.f64 base)) (log.f64 base))
(*.f64 -1 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base)))
(/.f64 (log.f64 (hypot.f64 re im)) (neg.f64 (log.f64 base)))
(neg.f64 (/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im))))) (log.f64 base)) (*.f64 (atan2.f64 (neg.f64 im) re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0))))
(/.f64 (neg.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 base) 0)) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (/.f64 (neg.f64 (*.f64 (log.f64 base) (log.f64 (hypot.f64 re im)))) (log.f64 base)) (log.f64 base))
(/.f64 (/.f64 (*.f64 (log.f64 (hypot.f64 re im)) (neg.f64 (log.f64 base))) (log.f64 base)) (log.f64 base))
(*.f64 -1 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base)))
(/.f64 (log.f64 (hypot.f64 re im)) (neg.f64 (log.f64 base)))
(neg.f64 (/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 (neg.f64 base))) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))) (*.f64 0 0))))
(/.f64 (neg.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 (neg.f64 base)) 0)) (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))))
(/.f64 (neg.f64 (*.f64 (log.f64 (neg.f64 base)) (log.f64 (hypot.f64 re im)))) (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))))
(/.f64 (*.f64 (log.f64 (neg.f64 base)) (neg.f64 (log.f64 (hypot.f64 re im)))) (*.f64 (log.f64 (neg.f64 base)) (log.f64 (neg.f64 base))))
(*.f64 -1 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 (neg.f64 base))))
(/.f64 (log.f64 (hypot.f64 re im)) (neg.f64 (log.f64 (neg.f64 base))))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re)))) (log.f64 base)) (*.f64 (atan2.f64 re im) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
(/.f64 (fma.f64 (log.f64 (hypot.f64 re im)) (log.f64 base) 0) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (*.f64 (log.f64 base) (log.f64 (hypot.f64 re im))) (*.f64 (log.f64 base) (log.f64 base)))
(/.f64 (log.f64 base) (/.f64 (*.f64 (log.f64 base) (log.f64 base)) (log.f64 (hypot.f64 re im))))
(/.f64 (log.f64 (hypot.f64 re im)) (/.f64 (log.f64 base) 1))
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 base base) (*.f64 im im)))) (log.f64 re)) (*.f64 (atan2.f64 im base) 0)) (+.f64 (*.f64 (log.f64 re) (log.f64 re)) (*.f64 0 0)))
(/.f64 (fma.f64 (log.f64 (hypot.f64 base im)) (log.f64 re) 0) (*.f64 (log.f64 re) (log.f64 re)))
(/.f64 (*.f64 (log.f64 (hypot.f64 im base)) (log.f64 re)) (*.f64 (log.f64 re) (log.f64 re)))
(/.f64 (log.f64 (hypot.f64 im base)) (/.f64 (*.f64 (log.f64 re) (log.f64 re)) (log.f64 re)))
(/.f64 (log.f64 (hypot.f64 im base)) (/.f64 (log.f64 re) 1))
(/.f64 (log.f64 (hypot.f64 im base)) (log.f64 re))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 base base)))) (log.f64 im)) (*.f64 (atan2.f64 base re) 0)) (+.f64 (*.f64 (log.f64 im) (log.f64 im)) (*.f64 0 0)))
(/.f64 (fma.f64 (log.f64 (hypot.f64 re base)) (log.f64 im) 0) (*.f64 (log.f64 im) (log.f64 im)))
(/.f64 (*.f64 (log.f64 (hypot.f64 re base)) (log.f64 im)) (*.f64 (log.f64 im) (log.f64 im)))
(*.f64 (/.f64 (log.f64 im) (log.f64 im)) (/.f64 (log.f64 (hypot.f64 re base)) (log.f64 im)))
(*.f64 1 (/.f64 (log.f64 (hypot.f64 re base)) (log.f64 im)))
(/.f64 (log.f64 (hypot.f64 re base)) (log.f64 im))
Symmetry

(abs re)

(abs im)

(sort re im)

Compiler

Compiled 123 to 34 computations (72.4% saved)

end0.0ms (0%)

Profiling

Loading profile data...