Details

Time bar (total: 1.8s)

analyze291.0ms (15.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
9.4%90.4%0.2%10
14%85.8%0.2%11
18.7%76.8%4.5%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.4s (77.3%)

Results
1.1s8256×body256valid
312.0ms2021×body256invalid

preprocess37.0ms (2%)

Algorithm
egg-herbie
Rules
13×fma-def_binary64
*-commutative_binary64
+-commutative_binary64
swap-x.im-y.re
swap-x.re-y.im
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02256
13456
24056
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
1
3
0
Call 2
Inputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.re y.im) (*.f64 x.im x.re))
(+.f64 (*.f64 y.im x.re) (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 y.im y.re))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Outputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.re y.im) (*.f64 x.im x.re))
(fma.f64 x.re x.im (*.f64 y.im y.re))
(+.f64 (*.f64 y.im x.re) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re x.im) (*.f64 y.im y.re))
(fma.f64 x.re x.im (*.f64 y.im y.re))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 y.im x.im))
Symmetry

(sort x.re y.im)

(sort x.im y.re)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
1128
2158
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Outputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))

eval1.0ms (0%)

Compiler

Compiled 17 to 8 computations (52.9% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0.4%)

Compiler

Compiled 21 to 7 computations (66.7% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune49.0ms (2.7%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done000
Total011
Error
0b
Counts
1 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Compiler

Compiled 22 to 14 computations (36.4% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11110
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Outputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Compiler

Compiled 11 to 7 computations (36.4% saved)

soundness0.0ms (0%)

end20.0ms (1.1%)

Remove

(sort x.im y.re)

(sort x.re y.im)

Compiler

Compiled 55 to 35 computations (36.4% saved)

Profiling

Loading profile data...