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

Time bar (total: 2.7s)

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)

sample69.0ms (2.6%)

Memory
6.3MiB live, 22.8MiB allocated
Samples
48.0ms197×1valid
7.0ms63×0valid
Precisions
Click to see histograms. Total time spent on operations: 45.0ms
ival-mult: 17.0ms (37.8% of total)
ival-cos: 14.0ms (31.1% of total)
adjust: 5.0ms (11.1% of total)
ival-div: 5.0ms (11.1% of total)
ival-add: 4.0ms (8.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain2.5s (92.5%)

Memory
13.4MiB live, 1 761.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1620-1(-5.221510382173709e+21 -1.36575191601675e-210 -2.5027368276089692e-256 -6.280327912326697e-29 3.022430540927711e-188 -1.6402597976616493e+32)(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64)))
1540-0-(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))
140-0-(*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t)
80-0-(*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t)
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 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 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 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64)))sensitivity1611
cos.f64(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))sensitivity1540
*.f64(*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t)n*o140
*.f64(*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t)n*o80
Confusion
Predicted +Predicted -
+1971
-058
Precision
1.0
Recall
0.9949494949494949
Confusion?
Predicted +Predicted MaybePredicted -
+19710
-0058
Precision?
1.0
Recall?
1.0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
059
166
2124
35
42
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
11.6171875
Average Time
0.045379638671875
Samples
664.0ms2 328×1valid
95.0ms744×0valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 534.0ms
ival-mult: 205.0ms (38.4% of total)
ival-cos: 158.0ms (29.6% of total)
adjust: 60.0ms (11.2% of total)
ival-div: 58.0ms (10.9% of total)
ival-add: 46.0ms (8.6% 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)

preprocess75.0ms (2.8%)

Memory
-7.4MiB live, 12.4MiB 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)

prune1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
27.2%
(*.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)

simplify20.0ms (0.8%)

Memory
3.0MiB 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)

preprocess34.0ms (1.3%)

Memory
-0.1MiB live, 15.6MiB 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...