_divideComplex, real part

Time bar (total: 1.3s)

start0.0ms (0%)

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

analyze26.0ms (2%)

Memory
31.7MiB live, 31.7MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
75%74.9%25%0.2%0%0%0%5
75%74.9%25%0.2%0%0%0%6
75%74.9%25%0.2%0%0%0%7
87.5%87.3%12.5%0.2%0%0%0%8
93.8%93.6%6.2%0.2%0%0%0%9
93.8%93.6%6.2%0.2%0%0%0%10
93.8%93.6%6.2%0.2%0%0%0%11
96.9%96.7%3.1%0.2%0%0%0%12
Compiler

Compiled 17 to 13 computations (23.5% saved)

sample973.0ms (76.6%)

Memory
18.7MiB live, 1 229.8MiB allocated; 207ms collecting garbage
Samples
619.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 383.0ms
ival-mult: 254.0ms (66.4% of total)
ival-add: 71.0ms (18.6% of total)
ival-div: 53.0ms (13.9% of total)
ival-assert: 3.0ms (0.8% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

explain120.0ms (9.4%)

Memory
19.2MiB live, 164.6MiB allocated; 16ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1050-1(1.7155141680626283e+168 7.404377611355294e-50 3.3854534147271966e-200 -2.4595275532343558e-158)(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
40-0-(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
00-0-(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
00-0-(*.f64 y.re y.re)
00-0-(*.f64 x.re y.re)
00-0-(*.f64 y.im y.im)
00-0-x.re
00-0-y.re
00-0-y.im
00-0-(*.f64 x.im y.im)
00-0-x.im
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))o/o510
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))overflow62
(*.f64 x.im y.im)overflow37
(*.f64 x.re y.re)overflow30
(*.f64 y.re y.re)overflow65
(*.f64 y.im y.im)overflow62
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))overflow108
/.f64(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))n/o330
(*.f64 y.re y.re)overflow65
(*.f64 y.im y.im)overflow62
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))overflow108
/.f64(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))o/n110
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))overflow62
(*.f64 x.im y.im)overflow37
(*.f64 x.re y.re)overflow30
/.f64(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))n/u60
(*.f64 y.re y.re)underflow61
(*.f64 y.im y.im)underflow56
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))underflow15
+.f64(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))nan-rescue40
(*.f64 x.re y.re)overflow30
(*.f64 x.im y.im)overflow37
/.f64(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))u/u20
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))underflow3
(*.f64 x.im y.im)underflow25
(*.f64 x.re y.re)underflow27
(*.f64 y.re y.re)underflow61
(*.f64 y.im y.im)underflow56
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))underflow15
/.f64(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))u/n10
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))underflow3
(*.f64 x.im y.im)underflow25
(*.f64 x.re y.re)underflow27
Confusion
Predicted +Predicted -
+1041
-0151
Precision
1.0
Recall
0.9904761904761905
Confusion?
Predicted +Predicted MaybePredicted -
+10401
-00151
Precision?
1.0
Recall?
0.9904761904761905
Freqs
test
numberfreq
0152
1100
24
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
41.0ms512×0valid
Compiler

Compiled 109 to 37 computations (66.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-mult: 15.0ms (65.8% of total)
ival-add: 4.0ms (17.5% of total)
ival-div: 3.0ms (13.2% of total)
ival-true: 1.0ms (4.4% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess34.0ms (2.7%)

Memory
-0.2MiB live, 45.1MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067229
1214225
2501225
3909225
41534225
51881225
01615
02415
02415
Stop Event
saturated
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Outputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

eval0.0ms (0%)

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

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.7%
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

series34.0ms (2.7%)

Memory
-27.7MiB live, 34.2MiB allocated; 28ms collecting garbage
Counts
11 → 51
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(*.f64 x.re y.re)
x.re
y.re
(*.f64 x.im y.im)
x.im
y.im
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(*.f64 y.re y.re)
(*.f64 y.im y.im)
Outputs
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2)))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.im y.im)))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re))))
#s(approx (* x.re y.re) #s(hole binary64 (* x.re y.re)))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2))))))))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.re y.re)))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re)))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2))))))))))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re)))))))
#s(approx (* x.im y.im) #s(hole binary64 (* x.im y.im)))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2))))))))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im)))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2))))))))))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im)))))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ x.im y.im)))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2)))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im))))
#s(approx y.re #s(hole binary64 y.re))
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2)))
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2))))
#s(approx (* y.re y.re) #s(hole binary64 (pow y.re 2)))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ x.re y.re)))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* x.im y.im) y.re)) y.re)))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* x.im y.im) y.re))) y.re)))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re)))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re)))))
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.re 2)))
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2))))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))) y.re))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* x.im y.im)) y.re))) y.re))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re))))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re)))))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2)))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re))))
#s(approx y.im #s(hole binary64 y.im))
#s(approx (* y.im y.im) #s(hole binary64 (pow y.im 2)))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* x.re y.re) y.im)) y.im)))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* x.re y.re) y.im))) y.im)))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im)))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im)))))
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2))))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))) y.im))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* x.re y.re)) y.im))) y.im))))
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im))))
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im)))))))
Calls

12 calls:

TimeVariablePointExpression
15.0ms
x.im
@0
((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im))
3.0ms
x.im
@inf
((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im))
3.0ms
y.im
@inf
((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im))
2.0ms
x.re
@inf
((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im))
2.0ms
y.re
@-inf
((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im))

rewrite83.0ms (6.5%)

Memory
-12.9MiB live, 77.5MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03011444
14071436
24101436
34121436
44131436
04131436
04131421
14971421
25721409
36521409
46971409
57151409
67361409
77461409
87521409
97561409
Stop Event
saturated
node limit
saturated

end0.0ms (0%)

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

Profiling

Loading profile data...