Disney BSSRDF, sample scattering profile, upper

Time bar (total: 13.9s)

analyze67.0ms (0.5%)

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

Compiled 31 to 25 computations (19.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
Operation ival-sub, time spent: 9.0ms, 34.0% of total-time
Operation ival-<=, time spent: 6.0ms, 22.0% of total-time
Operation ival-mult, time spent: 4.0ms, 15.0% of total-time
Operation ival-log, time spent: 3.0ms, 11.0% of total-time
Operation ival-div, time spent: 3.0ms, 11.0% of total-time
Operation const, time spent: 1.0ms, 4.0% of total-time
Operation ival-and, time spent: 1.0ms, 4.0% of total-time

sample2.7s (19.1%)

Results
2.4s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
Operation ival-sub, time spent: 306.0ms, 26.0% of total-time
Operation ival-div, time spent: 234.0ms, 20.0% of total-time
Operation ival-log, time spent: 189.0ms, 16.0% of total-time
Operation ival-<=, time spent: 159.0ms, 14.0% of total-time
Operation ival-mult, time spent: 150.0ms, 13.0% of total-time
Operation const, time spent: 75.0ms, 6.0% of total-time
Operation ival-and, time spent: 44.0ms, 4.0% of total-time
Bogosity

preprocess3.3s (23.5%)

Algorithm
egg-herbie
Rules
3500×fma-neg
903×fma-define
480×unsub-neg
455×sub-neg
351×distribute-neg-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f32 u 1/4)
00-0-1/4
00-0-s
00-0-u
00-0-(/.f32 (-.f32 u 1/4) 3/4)
00-0-(-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))
00-0-3
00-0-(*.f32 3 s)
00-0-3/4
00-0-1
00-0-(/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))
00-0-(log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))
00-0-(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038331
1105261
2258245
3633229
41162217
51955217
62676217
73662217
85168217
96476217
107069217
117480217
127644217
137747217
147762217
157763217
167763217
177813217
187825217
197825217
207977217
217977217
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 (*.f32 3 (neg.f32 s)) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 (neg.f32 u) 1/4) 3/4)))))
(neg.f32 (*.f32 (*.f32 3 (neg.f32 s)) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))))
(neg.f32 (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 (neg.f32 u) 1/4) 3/4))))))
(*.f32 (*.f32 3 u) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 s 1/4) 3/4)))))
Outputs
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3)))))
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3))
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3)))))
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3))
(*.f32 (*.f32 3 (neg.f32 s)) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 3 (*.f32 (neg.f32 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3))))))
(*.f32 (neg.f32 (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4))) (*.f32 s -3))
(*.f32 3 (*.f32 s (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
(*.f32 3 (*.f32 s (log1p.f32 (fma.f32 u -4/3 1/3))))
(*.f32 3 (*.f32 s (log.f32 (fma.f32 u -4/3 4/3))))
(*.f32 (*.f32 3 s) (log.f32 (fma.f32 u -4/3 4/3)))
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 (neg.f32 u) 1/4) 3/4)))))
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 (neg.f32 u) 3/4) 1/3)))))
(*.f32 (*.f32 3 s) (neg.f32 (log1p.f32 (/.f32 (fma.f32 -1 u -1/4) -3/4))))
(*.f32 s (*.f32 -3 (log1p.f32 (/.f32 (-.f32 -1/4 u) -3/4))))
(*.f32 s (*.f32 (log.f32 (+.f32 (*.f32 u 4/3) 4/3)) -3))
(*.f32 s (*.f32 (log.f32 (fma.f32 u 4/3 4/3)) -3))
(neg.f32 (*.f32 (*.f32 3 (neg.f32 s)) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))))
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3)))))
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3))
(neg.f32 (*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 (neg.f32 u) 1/4) 3/4))))))
(*.f32 (*.f32 3 (neg.f32 s)) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 (neg.f32 u) 3/4) 1/3)))))
(*.f32 s (*.f32 3 (log1p.f32 (/.f32 (fma.f32 -1 u -1/4) -3/4))))
(*.f32 3 (*.f32 s (log1p.f32 (/.f32 (-.f32 -1/4 u) -3/4))))
(*.f32 3 (*.f32 s (log.f32 (+.f32 (*.f32 u 4/3) 4/3))))
(*.f32 3 (*.f32 s (log.f32 (fma.f32 u 4/3 4/3))))
(*.f32 (*.f32 3 u) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 s 1/4) 3/4)))))
(*.f32 (*.f32 3 u) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 s 3/4) 1/3)))))
(*.f32 (*.f32 3 u) (neg.f32 (log1p.f32 (/.f32 (+.f32 s -1/4) -3/4))))
(*.f32 u (*.f32 -3 (log1p.f32 (-.f32 (/.f32 s -3/4) -1/3))))
(*.f32 u (*.f32 (log1p.f32 (-.f32 1/3 (*.f32 s 4/3))) -3))
(*.f32 u (*.f32 (log1p.f32 (fma.f32 s -4/3 1/3)) -3))
(*.f32 (log1p.f32 (fma.f32 s -4/3 1/3)) (*.f32 u -3))
Symmetry

(negabs s)

Compiler

Compiled 136 to 114 computations (16.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.5s
Operation ival-sub, time spent: 917.0ms, 60.0% of total-time
Operation ival-div, time spent: 281.0ms, 18.0% of total-time
Operation ival-log, time spent: 140.0ms, 9.0% of total-time
Operation ival-mult, time spent: 97.0ms, 6.0% of total-time
Operation const, time spent: 84.0ms, 6.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 53 to 43 computations (18.9% saved)

prune13.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
95.8%
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3)))))
96.3%
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
98.0%
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))
97.3%
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3))
97.0%
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
Compiler

Compiled 154 to 130 computations (15.6% saved)

localize4.7s (33.9%)

Compiler

Compiled 213 to 170 computations (20.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.4s
Operation composed, time spent: 718.0ms, 21.0% of total-time
Operation ival-add, time spent: 657.0ms, 19.0% of total-time
Operation ival-sub, time spent: 656.0ms, 19.0% of total-time
Operation ival-log, time spent: 485.0ms, 14.0% of total-time
Operation ival-mult, time spent: 388.0ms, 11.0% of total-time
Operation ival-div, time spent: 307.0ms, 9.0% of total-time
Operation const, time spent: 152.0ms, 4.0% of total-time
Operation ival-neg, time spent: 20.0ms, 1.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune7.0ms (0%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New000
Fresh011
Picked055
Done000
Total066
Accuracy
99.5%
Counts
6 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
95.8%
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3)))))
96.3%
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
98.0%
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))
97.3%
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3))
97.0%
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
Compiler

Compiled 77 to 65 computations (15.6% saved)

localize1.4s (10%)

Compiler

Compiled 33 to 26 computations (21.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.2s
Operation composed, time spent: 595.0ms, 48.0% of total-time
Operation ival-add, time spent: 315.0ms, 25.0% of total-time
Operation ival-mult, time spent: 190.0ms, 15.0% of total-time
Operation ival-log, time spent: 115.0ms, 9.0% of total-time
Operation const, time spent: 35.0ms, 3.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune5.0ms (0%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done055
Total066
Accuracy
99.5%
Counts
6 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
95.8%
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3)))))
96.3%
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
98.0%
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))
97.3%
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3))
97.0%
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
Compiler

Compiled 144 to 120 computations (16.7% saved)

regimes54.0ms (0.4%)

Counts
6 → 1
Calls
Call 1
Inputs
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
(*.f32 (*.f32 3 s) (neg.f32 (log.f32 (-.f32 1 (-.f32 (/.f32 u 3/4) 1/3)))))
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
(*.f32 s (*.f32 (log.f32 (fma.f32 u -4/3 4/3)) -3))
(*.f32 s (*.f32 (log1p.f32 (fma.f32 u -4/3 1/3)) -3))
Outputs
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
Calls

9 calls:

10.0ms
(/.f32 (-.f32 u 1/4) 3/4)
7.0ms
(log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))
6.0ms
u
5.0ms
(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
5.0ms
(/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))
Results
AccuracySegmentsBranch
98.4%1s
98.4%1u
98.4%1(*.f32 (*.f32 3 s) (log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))))
98.4%1(*.f32 3 s)
98.4%1(log.f32 (/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))))
98.4%1(/.f32 1 (-.f32 1 (/.f32 (-.f32 u 1/4) 3/4)))
98.4%1(-.f32 1 (/.f32 (-.f32 u 1/4) 3/4))
98.4%1(/.f32 (-.f32 u 1/4) 3/4)
98.4%1(-.f32 u 1/4)
Compiler

Compiled 71 to 61 computations (14.1% saved)

regimes5.0ms (0%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
Outputs
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
Calls

2 calls:

3.0ms
s
3.0ms
u
Results
AccuracySegmentsBranch
97.0%1u
97.0%1s
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify326.0ms (2.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02370
13070
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
Outputs
(*.f32 (*.f32 s -3) (log1p.f32 (/.f32 (+.f32 u -1/4) -3/4)))
(*.f32 s (*.f32 -3 (log1p.f32 (+.f32 (*.f32 u -4/3) 1/3))))
Compiler

Compiled 24 to 20 computations (16.7% saved)

soundness1.4s (9.8%)

Rules
3500×fma-neg
3500×fma-neg
903×fma-define
903×fma-define
480×unsub-neg
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038331
1105261
2258245
3633229
41162217
51955217
62676217
73662217
85168217
96476217
107069217
117480217
127644217
137747217
147762217
157763217
167763217
177813217
187825217
197825217
207977217
217977217
038331
1105261
2258245
3633229
41162217
51955217
62676217
73662217
85168217
96476217
107069217
117480217
127644217
137747217
147762217
157763217
167763217
177813217
187825217
197825217
207977217
217977217
Stop Event
node limit
node limit
Compiler

Compiled 434 to 368 computations (15.2% saved)

end0.0ms (0%)

preprocess33.0ms (0.2%)

Remove

(negabs s)

Compiler

Compiled 148 to 124 computations (16.2% saved)

Profiling

Loading profile data...