Beckmann Distribution sample, tan2theta, alphax == alphay

Time bar (total: 6.8s)

analyze57.0ms (0.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.2%99.8%0%0%0%0
0%0%0.2%99.8%0%0%0%1
0%0%0.2%99.8%0%0%0%2
50%0.1%0.1%99.8%0%0%0%3
50%0.1%0.1%99.8%0%0%0%4
75%0.1%0%99.8%0%0%0%5
75%0.1%0%99.8%0%0%0%6
87.5%0.1%0%99.8%0%0%0%7
87.5%0.1%0%99.8%0%0%0%8
93.8%0.2%0%99.8%0%0%0%9
93.8%0.2%0%99.8%0%0%0%10
96.9%0.2%0%99.8%0%0%0%11
96.9%0.2%0%99.8%0%0%0%12
Compiler

Compiled 26 to 19 computations (26.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
Operation ival-<=, time spent: 5.0ms, 27.0% of total-time
Operation ival-mult, time spent: 4.0ms, 22.0% of total-time
Operation ival-log, time spent: 4.0ms, 22.0% of total-time
Operation ival-neg, time spent: 2.0ms, 11.0% of total-time
Operation ival-sub, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time
Operation ival-and, time spent: 1.0ms, 5.0% of total-time

sample2.8s (41.6%)

Results
2.7s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 1.3s
Operation ival-<=, time spent: 548.0ms, 41.0% of total-time
Operation ival-log, time spent: 261.0ms, 20.0% of total-time
Operation ival-sub, time spent: 217.0ms, 16.0% of total-time
Operation ival-mult, time spent: 161.0ms, 12.0% of total-time
Operation ival-neg, time spent: 64.0ms, 5.0% of total-time
Operation const, time spent: 44.0ms, 3.0% of total-time
Operation ival-and, time spent: 43.0ms, 3.0% of total-time
Bogosity

preprocess1.4s (21.3%)

Algorithm
egg-herbie
Rules
944×distribute-rgt-in
939×distribute-lft-in
839×fma-define
458×associate-+r+
338×sub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
00-0-(*.f32 (neg.f32 alpha) alpha)
00-0-alpha
00-0-(neg.f32 alpha)
00-0-(log.f32 (-.f32 1 u0))
00-0-(-.f32 1 u0)
00-0-1
00-0-u0
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027268
177222
2195222
3461222
4853222
51184222
61261222
71462222
82842222
94130222
104945222
115477222
125789222
135931222
145981222
155999222
165999222
176036222
186060222
196060222
206060222
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
(*.f32 (*.f32 (neg.f32 (neg.f32 alpha)) (neg.f32 alpha)) (log.f32 (-.f32 1 u0)))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 (neg.f32 u0))))
(neg.f32 (*.f32 (*.f32 (neg.f32 (neg.f32 alpha)) (neg.f32 alpha)) (log.f32 (-.f32 1 u0))))
(neg.f32 (*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 (neg.f32 u0)))))
(*.f32 (*.f32 (neg.f32 u0) u0) (log.f32 (-.f32 1 alpha)))
Outputs
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log.f32 (-.f32 1 u0))))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
(*.f32 alpha (*.f32 alpha (neg.f32 (log1p.f32 (neg.f32 u0)))))
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log.f32 (-.f32 1 u0))))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
(*.f32 alpha (*.f32 alpha (neg.f32 (log1p.f32 (neg.f32 u0)))))
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
(*.f32 (*.f32 (neg.f32 (neg.f32 alpha)) (neg.f32 alpha)) (log.f32 (-.f32 1 u0)))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log.f32 (-.f32 1 u0))))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
(*.f32 alpha (*.f32 alpha (neg.f32 (log1p.f32 (neg.f32 u0)))))
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 (neg.f32 u0))))
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log.f32 (-.f32 1 (neg.f32 u0))))
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 u0))
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 u0))
(neg.f32 (*.f32 (*.f32 (neg.f32 (neg.f32 alpha)) (neg.f32 alpha)) (log.f32 (-.f32 1 u0))))
(*.f32 (*.f32 alpha (neg.f32 alpha)) (neg.f32 (log.f32 (-.f32 1 u0))))
(*.f32 (log1p.f32 (neg.f32 u0)) (*.f32 alpha alpha))
(neg.f32 (*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 (neg.f32 u0)))))
(*.f32 (*.f32 alpha (neg.f32 alpha)) (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))))
(*.f32 alpha (*.f32 alpha (log1p.f32 u0)))
(*.f32 (*.f32 (neg.f32 u0) u0) (log.f32 (-.f32 1 alpha)))
(*.f32 (neg.f32 u0) (*.f32 u0 (log.f32 (-.f32 1 alpha))))
(*.f32 (neg.f32 u0) (*.f32 u0 (log1p.f32 (neg.f32 alpha))))
(*.f32 u0 (*.f32 (neg.f32 u0) (log1p.f32 (neg.f32 alpha))))
Symmetry

(abs alpha)

Compiler

Compiled 67 to 38 computations (43.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 447.0ms
Operation ival-sub, time spent: 181.0ms, 40.0% of total-time
Operation ival-log, time spent: 154.0ms, 34.0% of total-time
Operation ival-mult, time spent: 64.0ms, 14.0% of total-time
Operation ival-neg, time spent: 27.0ms, 6.0% of total-time
Operation const, time spent: 20.0ms, 4.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
56.2%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
99.2%
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
99.0%
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
Compiler

Compiled 31 to 22 computations (29% saved)

localize1.3s (19%)

Compiler

Compiled 73 to 22 computations (69.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 609.0ms
Operation ival-log, time spent: 147.0ms, 24.0% of total-time
Operation ival-sub, time spent: 132.0ms, 22.0% of total-time
Operation composed, time spent: 116.0ms, 19.0% of total-time
Operation ival-mult, time spent: 89.0ms, 15.0% of total-time
Operation ival-add, time spent: 58.0ms, 10.0% of total-time
Operation ival-neg, time spent: 54.0ms, 9.0% of total-time
Operation const, time spent: 13.0ms, 2.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune4.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked033
Done000
Total033
Accuracy
99.7%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.2%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
99.2%
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
99.0%
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
Compiler

Compiled 58 to 37 computations (36.2% saved)

regimes22.0ms (0.3%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
Outputs
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
Calls

6 calls:

5.0ms
u0
3.0ms
(*.f32 (neg.f32 alpha) alpha)
3.0ms
(log.f32 (-.f32 1 u0))
3.0ms
alpha
3.0ms
(-.f32 1 u0)
Results
AccuracySegmentsBranch
99.2%1alpha
99.2%1u0
99.2%1(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 1 u0)))
99.2%1(*.f32 (neg.f32 alpha) alpha)
99.2%1(log.f32 (-.f32 1 u0))
99.2%1(-.f32 1 u0)
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes5.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
Outputs
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
Calls

2 calls:

2.0ms
u0
2.0ms
alpha
Results
AccuracySegmentsBranch
99.0%1alpha
99.0%1u0
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×*-commutative
neg-sub0
neg-mul-1
sub-neg
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01668
13368
25468
37368
47968
58168
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
Outputs
(*.f32 (neg.f32 (*.f32 alpha alpha)) (log1p.f32 (neg.f32 u0)))
(*.f32 (*.f32 alpha (neg.f32 alpha)) (log1p.f32 (neg.f32 u0)))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
(*.f32 alpha (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)))
(neg.f32 (*.f32 (*.f32 alpha (log1p.f32 (neg.f32 u0))) alpha))
(*.f32 alpha (*.f32 alpha (neg.f32 (log1p.f32 (neg.f32 u0)))))
Compiler

Compiled 20 to 14 computations (30% saved)

soundness1.1s (16%)

Rules
944×distribute-rgt-in
944×distribute-rgt-in
939×distribute-lft-in
939×distribute-lft-in
839×fma-define
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027268
177222
2195222
3461222
4853222
51184222
61261222
71462222
82842222
94130222
104945222
115477222
125789222
135931222
145981222
155999222
165999222
176036222
186060222
196060222
206060222
027268
177222
2195222
3461222
4853222
51184222
61261222
71462222
82842222
94130222
104945222
115477222
125789222
135931222
145981222
155999222
165999222
176036222
186060222
196060222
206060222
Stop Event
node limit
node limit
Compiler

Compiled 121 to 72 computations (40.5% saved)

end0.0ms (0%)

preprocess48.0ms (0.7%)

Remove

(abs alpha)

Compiler

Compiled 118 to 78 computations (33.9% saved)

Profiling

Loading profile data...