FastMath dist4

Time bar (total: 1.3s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
100%99.8%0%0.2%0%0%0%1
Compiler

Compiled 17 to 13 computations (23.5% saved)

sample994.0ms (78.7%)

Memory
59.0MiB live, 1 183.0MiB allocated; 205ms collecting garbage
Samples
707.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 376.0ms
ival-mult: 245.0ms (65.1% of total)
ival-sub: 83.0ms (22.1% of total)
ival-add: 43.0ms (11.4% of total)
adjust: 3.0ms (0.8% of total)
ival-assert: 3.0ms (0.8% of total)
Bogosity

explain147.0ms (11.6%)

Memory
-3.9MiB live, 192.1MiB allocated; 53ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
260-0-(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
90-0-(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
60-0-(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
00-0-d4
00-0-(*.f64 d4 d1)
00-0-(*.f64 d1 d2)
00-0-(*.f64 d1 d3)
00-0-d2
00-0-d1
00-0-d3
00-0-(*.f64 d1 d1)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))nan-rescue260
(*.f64 d1 d3)overflow36
(*.f64 d1 d2)overflow34
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))overflow59
(*.f64 d4 d1)overflow38
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))overflow76
(*.f64 d1 d1)overflow69
+.f64(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))nan-rescue90
(*.f64 d1 d3)overflow36
(*.f64 d1 d2)overflow34
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))overflow59
(*.f64 d4 d1)overflow38
-.f64(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))nan-rescue60
(*.f64 d1 d2)overflow34
(*.f64 d1 d3)overflow36
Confusion
Predicted +Predicted -
+320
-0224
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+3200
-00224
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0224
124
27
31
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
39.0ms512×0valid
Compiler

Compiled 117 to 37 computations (68.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-mult: 13.0ms (62.7% of total)
ival-sub: 4.0ms (19.3% of total)
ival-add: 2.0ms (9.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess50.0ms (3.9%)

Memory
-4.9MiB live, 41.9MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070207
1253175
2989145
33167140
46883140
01615
02415
02415
Stop Event
saturated
saturated
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Outputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Symmetry

(sort d2 d4)

Compiler

Compiled 15 to 11 computations (26.7% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
87.5%
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Compiler

Compiled 15 to 11 computations (26.7% saved)

series28.0ms (2.2%)

Memory
-29.9MiB live, 15.3MiB allocated; 11ms collecting garbage
Counts
11 → 53
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 d2)
d1
d2
(*.f64 d1 d3)
d3
(*.f64 d4 d1)
d4
(*.f64 d1 d1)
Outputs
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 (- (+ d2 (+ d4 (* -1 d1))) d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d1 (- (+ d2 d4) d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 (- d2 d3))))
#s(approx (* d1 d2) #s(hole binary64 (* d1 d2)))
#s(approx d1 #s(hole binary64 d1))
#s(approx (* d1 d3) #s(hole binary64 (* d1 d3)))
#s(approx (* d4 d1) #s(hole binary64 (* d1 d4)))
#s(approx (* d1 d1) #s(hole binary64 (pow d1 2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (+ (/ d2 d1) (/ d4 d1)) (+ 1 (/ d3 d1))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* (pow d1 2) (- (* -1 (/ (- (+ (* -1 d2) (* -1 d4)) (* -1 d3)) d1)) 1))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d1 (- (+ (* -1 d2) (* -1 d4)) (* -1 d3))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 (- (* -1 d2) (* -1 d3))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d4) (+ (* d1 d3) (pow d1 2)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (+ (* d1 d3) (pow d1 2)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (* d1 d4) (* d1 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (* d1 d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (- (* d1 d2) (* d1 d3))))
#s(approx d2 #s(hole binary64 d2))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 d2)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (+ (/ (* d1 d3) d2) (/ (pow d1 2) d2))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d1 d2)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d2 (- (+ d1 (/ (* d1 d4) d2)) (/ (* d1 d3) d2)))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d1 d2)))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d2 (+ d1 (* -1 (/ (* d1 d3) d2))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (+ (* d1 d3) (pow d1 2))) d2)))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (- (* d1 d4) (* d1 d3)) d2)))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d2 (+ (* -1 d1) (/ (* d1 d3) d2))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* d1 d2) (* d1 d4)) (pow d1 2))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4))) (pow d1 2))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (+ (* d1 d2) (* d1 d4))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (+ (* -1 (* d1 d3)) (+ (* d1 d2) (* d1 d4)))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (+ (* -1 (* d1 d3)) (* d1 d2))))
#s(approx d3 #s(hole binary64 d3))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) (+ d1 (/ (pow d1 2) d3))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d1 d3))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d3 (- (+ (/ (* d1 d2) d3) (/ (* d1 d4) d3)) d1))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* d3 (- (/ (* d1 d2) d3) d1))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (- (+ (* d1 d2) (* d1 d4)) (pow d1 2)) d3)) (* -1 d1))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (+ (* d1 d2) (* d1 d4)) d3)) (* -1 d1))))))
#s(approx (- (* d1 d2) (* d1 d3)) #s(hole binary64 (* -1 (* d3 (- (* -1 (/ (* d1 d2) d3)) (* -1 d1))))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (- (* d1 d2) (+ (* d1 d3) (pow d1 2)))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (- (* d1 d2) (* d1 d3))))
#s(approx d4 #s(hole binary64 d4))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d1 d4)))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (+ (/ (* d1 d3) d4) (/ (pow d1 2) d4))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d1 d4)))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* d4 (- (+ d1 (/ (* d1 d2) d4)) (/ (* d1 d3) d4)))))
#s(approx (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (+ (* d1 d3) (pow d1 2))) d4)))))))
#s(approx (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) #s(hole binary64 (* -1 (* d4 (+ (* -1 d1) (* -1 (/ (- (* d1 d2) (* d1 d3)) d4)))))))
Calls

12 calls:

TimeVariablePointExpression
15.0ms
d2
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))
2.0ms
d1
@-inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))
2.0ms
d1
@inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))
2.0ms
d1
@0
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))
1.0ms
d2
@inf
((- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)) (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (- (* d1 d2) (* d1 d3)) (* d1 d2) d1 d2 (* d1 d3) d3 (* d4 d1) d4 (* d1 d1))

rewrite44.0ms (3.5%)

Memory
10.6MiB live, 10.6MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02381300
13481290
23521286
33531286
43541286
53551286
03551286
03551267
14211262
24721256
35241250
45541250
55611250
Stop Event
saturated
node limit
saturated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...