Codec.Picture.Jpg.FastDct:referenceDct from JuicyPixels-3.2.6.1

Time bar (total: 2.6s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze1.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
100%99.7%0%0.3%0%0%0%1
Compiler

Compiled 29 to 25 computations (13.8% saved)

sample71.0ms (2.7%)

Memory
6.3MiB live, 22.7MiB allocated
Samples
50.0ms199×1valid
7.0ms61×0valid
Precisions
Click to see histograms. Total time spent on operations: 46.0ms
ival-mult: 17.0ms (37% of total)
ival-cos: 13.0ms (28.3% of total)
adjust: 7.0ms (15.2% of total)
ival-div: 5.0ms (10.9% of total)
ival-add: 4.0ms (8.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain2.4s (92.4%)

Memory
8.2MiB live, 1 750.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1540-0-(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))
1440-0-(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64)))
80-0-(*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t)
40-0-(*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t)
10-0-(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))
00-0-a
00-0-(*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b)
00-0-#s(literal 1 binary64)
00-0-t
00-0-(*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z)
00-0-(*.f64 y #s(literal 2 binary64))
00-0-y
00-0-(*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64))))
00-0-(+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64))
00-0-(*.f64 a #s(literal 2 binary64))
00-0-#s(literal 16 binary64)
00-0-z
00-0-#s(literal 2 binary64)
00-0-(+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64))
00-0-(*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))))
00-0-b
00-0-(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.f64(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))sensitivity1541
cos.f64(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64)))sensitivity1440
*.f64(*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t)n*o80
*.f64(*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t)n*o40
/.f64(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))o/n10
(*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b)overflow28
(*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t)overflow55
Confusion
Predicted +Predicted -
+1970
-059
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+19700
-0059
Precision?
1.0
Recall?
1.0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
059
188
2104
35
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
12.046142578125
Average Time
0.04705524444580078
Samples
679.0ms2 352×1valid
93.0ms720×0valid
Compiler

Compiled 5 532 to 1 128 computations (79.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 546.0ms
ival-mult: 202.0ms (37% of total)
ival-cos: 151.0ms (27.7% of total)
adjust: 82.0ms (15% of total)
ival-div: 57.0ms (10.4% of total)
ival-add: 46.0ms (8.4% of total)
exact: 4.0ms (0.7% of total)
ival-true: 2.0ms (0.4% of total)
ival-assert: 1.0ms (0.2% of total)

preprocess69.0ms (2.6%)

Memory
4.6MiB live, 12.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0189743
1481739
21358735
34231735
46264735
02327
03727
15827
211327
327727
457627
595123
6113123
7129123
8129123
9129123
10129523
0129521
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))))
Outputs
(*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))))
(*.f64 (*.f64 (cos.f64 (*.f64 (fma.f64 #s(literal 1/8 binary64) a #s(literal 1/16 binary64)) (*.f64 b t))) (cos.f64 (*.f64 (fma.f64 #s(literal 1/8 binary64) y #s(literal 1/16 binary64)) (*.f64 t z)))) x)
Symmetry

(abs b)

(abs t)

(abs z)

(negabs x)

Compiler

Compiled 27 to 23 computations (14.8% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 6 computations (-∞% saved)

prune6.0ms (0.2%)

Memory
-7.1MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.9%
(*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))))
Compiler

Compiled 54 to 46 computations (14.8% saved)

simplify22.0ms (0.8%)

Memory
-0.6MiB live, 18.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02327
13627
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))))
Outputs
(*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))))
(*.f64 (cos.f64 (/.f64 (*.f64 (*.f64 b (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64))) t) #s(literal 16 binary64))) (*.f64 (cos.f64 (/.f64 (*.f64 t (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) y)))) #s(literal 16 binary64))) x))

soundness0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Stop Event
fuel
Compiler

Compiled 27 to 23 computations (14.8% saved)

preprocess33.0ms (1.2%)

Memory
0.6MiB live, 15.8MiB allocated
Remove

(negabs x)

(abs z)

(abs t)

(abs b)

Compiler

Compiled 580 to 496 computations (14.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...