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

Time bar (total: 13.1s)

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 (0.5%)

Memory
-0.1MiB live, 22.8MiB allocated
Samples
50.0ms197×1valid
7.0ms63×0valid
Precisions
Click to see histograms. Total time spent on operations: 46.0ms
ival-mult: 18.0ms (39% of total)
ival-cos: 14.0ms (30.3% of total)
adjust: 5.0ms (10.8% of total)
ival-div: 5.0ms (10.8% 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

explain12.9s (98.5%)

Memory
7.1MiB live, 6 959.0MiB 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)))sensitivity1021
cos.f64(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))sensitivity1000
cos.f64(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64)))oflow-rescue590
(*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b)overflow35
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t) #s(literal 16 binary64))overflow59
(*.f64 (*.f64 (+.f64 (*.f64 a #s(literal 2 binary64)) #s(literal 1 binary64)) b) t)overflow59
cos.f64(cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64)))oflow-rescue540
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t) #s(literal 16 binary64))overflow54
(*.f64 (*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z) t)overflow54
(*.f64 (+.f64 (*.f64 y #s(literal 2 binary64)) #s(literal 1 binary64)) z)overflow35
*.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
Freqs
test
numberfreq
059
166
2124
35
42
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
66.70166015625
Average Time
0.26055335998535156
Samples
5.2s17 460×1valid
747.0ms5 580×0valid
Compiler

Compiled 20 835 to 4 320 computations (79.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.3s
ival-mult: 1.7s (40.5% of total)
ival-cos: 1.2s (28.4% of total)
adjust: 463.0ms (10.7% of total)
ival-div: 451.0ms (10.5% of total)
ival-add: 365.0ms (8.5% of total)
exact: 32.0ms (0.7% of total)
ival-true: 22.0ms (0.5% of total)
ival-assert: 10.0ms (0.2% of total)

preprocess72.0ms (0.5%)

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

prune4.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)

simplify19.0ms (0.1%)

Memory
2.8MiB 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 (0.3%)

Memory
0.2MiB live, 15.7MiB 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...