2-ancestry mixing, negative discriminant

Time bar (total: 2.1s)

analyze141.0ms (6.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
26.7%25%68.7%0.1%0%6.2%0%5
27.6%25%65.6%0.1%0%9.4%0%6
49%37.5%39%0.1%0%23.4%0%7
50.5%37.5%36.7%0.1%0%25.8%0%8
67.9%43.7%20.7%0.1%0%35.5%0%9
69.3%43.7%19.3%0.1%0%36.9%0%10
81.5%46.8%10.6%0.1%0%42.4%0%11
82.5%46.8%9.9%0.1%0%43.2%0%12
Compiler

Compiled 19 to 15 computations (21.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 92.0ms
ival-cos: 36.0ms (39.3% of total)
ival-div: 26.0ms (28.4% of total)
ival-mult: 12.0ms (13.1% of total)
ival-acos: 6.0ms (6.5% of total)
ival-add: 4.0ms (4.4% of total)
ival-neg: 4.0ms (4.4% of total)
ival-pi: 3.0ms (3.3% of total)
const: 1.0ms (1.1% of total)

sample1.7s (78.3%)

Results
1.1s8256×256valid
181.0ms1177×256invalid
Precisions
Click to see histograms. Total time spent on operations: 1.0s
ival-cos: 330.0ms (32.3% of total)
ival-div: 250.0ms (24.5% of total)
ival-mult: 175.0ms (17.2% of total)
ival-acos: 108.0ms (10.6% of total)
ival-neg: 52.0ms (5.1% of total)
ival-add: 46.0ms (4.5% of total)
ival-pi: 42.0ms (4.1% of total)
const: 17.0ms (1.7% of total)
Bogosity

preprocess122.0ms (5.7%)

Algorithm
egg-herbie
Rules
358×fma-define
60×times-frac
35×associate-/r*
32×unsub-neg
27×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
042383
181341
2148313
3289313
4536313
5811313
6908313
7940313
8997313
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 (neg.f64 g)) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) (neg.f64 h))) #s(literal 3 binary64)))))
(neg.f64 (*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 (neg.f64 g)) h)) #s(literal 3 binary64))))))
(neg.f64 (*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) (neg.f64 h))) #s(literal 3 binary64))))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 h) g)) #s(literal 3 binary64)))))
Outputs
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 #s(literal 2 binary64) (/.f64 (PI.f64) #s(literal 3 binary64))) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 (PI.f64) #s(literal 2/3 binary64)) (/.f64 (acos.f64 (/.f64 g (neg.f64 h))) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (fma.f64 (PI.f64) #s(literal 2/3 binary64) (/.f64 (acos.f64 (/.f64 g (neg.f64 h))) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 #s(literal 2 binary64) (/.f64 (PI.f64) #s(literal 3 binary64))) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 (PI.f64) #s(literal 2/3 binary64)) (/.f64 (acos.f64 (/.f64 g (neg.f64 h))) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (fma.f64 (PI.f64) #s(literal 2/3 binary64) (/.f64 (acos.f64 (/.f64 g (neg.f64 h))) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 (neg.f64 g)) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 #s(literal 2 binary64) (/.f64 (PI.f64) #s(literal 3 binary64))) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 (PI.f64) #s(literal 2/3 binary64)) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (fma.f64 (PI.f64) #s(literal 2/3 binary64) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) (neg.f64 h))) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 #s(literal 2 binary64) (/.f64 (PI.f64) #s(literal 3 binary64))) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 (PI.f64) #s(literal 2/3 binary64)) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (fma.f64 (PI.f64) #s(literal 2/3 binary64) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))))
(neg.f64 (*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 (neg.f64 g)) h)) #s(literal 3 binary64))))))
(*.f64 #s(literal -2 binary64) (cos.f64 (+.f64 (*.f64 #s(literal 2 binary64) (/.f64 (PI.f64) #s(literal 3 binary64))) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))))
(*.f64 (cos.f64 (+.f64 (*.f64 (PI.f64) #s(literal 2/3 binary64)) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))) #s(literal -2 binary64))
(*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 2/3 binary64) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))) #s(literal -2 binary64))
(neg.f64 (*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) (neg.f64 h))) #s(literal 3 binary64))))))
(*.f64 #s(literal -2 binary64) (cos.f64 (+.f64 (*.f64 #s(literal 2 binary64) (/.f64 (PI.f64) #s(literal 3 binary64))) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))))
(*.f64 (cos.f64 (+.f64 (*.f64 (PI.f64) #s(literal 2/3 binary64)) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))) #s(literal -2 binary64))
(*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 2/3 binary64) (/.f64 (acos.f64 (/.f64 g h)) #s(literal 3 binary64)))) #s(literal -2 binary64))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 h) g)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 #s(literal 2 binary64) (/.f64 (PI.f64) #s(literal 3 binary64))) (/.f64 (acos.f64 (neg.f64 (/.f64 h g))) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (*.f64 (PI.f64) #s(literal 2/3 binary64)) (/.f64 (acos.f64 (/.f64 h (neg.f64 g))) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (fma.f64 (PI.f64) #s(literal 2/3 binary64) (/.f64 (acos.f64 (/.f64 h (neg.f64 g))) #s(literal 3 binary64)))))

explain169.0ms (8%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(PI.f64)
00-0-(/.f64 (neg.f64 g) h)
00-0-h
00-0-(*.f64 #s(literal 2 binary64) (PI.f64))
00-0-g
00-0-#s(literal 2 binary64)
00-0-(neg.f64 g)
00-0-(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
00-0-(/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64))
00-0-(+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))
00-0-#s(literal 3 binary64)
00-0-(cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64))))
00-0-(/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64))
00-0-(acos.f64 (/.f64 (neg.f64 g) h))
Results
96.0ms512×256valid
Compiler

Compiled 172 to 44 computations (74.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 63.0ms
ival-cos: 16.0ms (25.4% of total)
ival-acos: 13.0ms (20.6% of total)
ival-div: 11.0ms (17.4% of total)
ival-mult: 9.0ms (14.3% of total)
ival-neg: 9.0ms (14.3% of total)
ival-pi: 2.0ms (3.2% of total)
ival-add: 2.0ms (3.2% of total)
const: 1.0ms (1.6% of total)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.5%
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
Compiler

Compiled 36 to 28 computations (22.2% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02057
12957
23557
34057
44357
54457
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
Outputs
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 (neg.f64 g) h)) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (neg.f64 (/.f64 g h))) #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (cos.f64 (+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (PI.f64)) #s(literal 3 binary64)) (/.f64 (acos.f64 (/.f64 g (neg.f64 h))) #s(literal 3 binary64)))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 18 to 14 computations (22.2% saved)

preprocess24.0ms (1.1%)

Compiler

Compiled 72 to 56 computations (22.2% saved)

end0.0ms (0%)

Profiling

Loading profile data...