ab-angle->ABCF D

Time bar (total: 939.0ms)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 10 to 8 computations (20% saved)

sample620.0ms (66%)

Memory
32.1MiB live, 971.1MiB allocated; 169ms collecting garbage
Samples
407.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 209.0ms
ival-mult!: 151.0ms (72.2% of total)
ival-neg: 56.0ms (26.8% of total)
adjust: 2.0ms (1% of total)
Bogosity

explain60.0ms (6.4%)

Memory
5.1MiB live, 99.3MiB allocated; 4ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
310-2(6.921387698499708e-162 6.472349773645099e+283)(*.f64 (*.f64 a a) b)
110-1(6.098641284056979e-198 -7.198270676499883e+77)(*.f64 (*.f64 (*.f64 a a) b) b)
00-0-(*.f64 a a)
00-0-(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
00-0-a
00-0-b
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 (*.f64 a a) b)n*o200
*.f64(*.f64 (*.f64 a a) b)n*u90
*.f64(*.f64 (*.f64 (*.f64 a a) b) b)n*u50
*.f64(*.f64 (*.f64 (*.f64 a a) b) b)n*o50
Confusion
Predicted +Predicted -
+392
-0215
Precision
1.0
Recall
0.9512195121951219
Confusion?
Predicted +Predicted MaybePredicted -
+3902
-00215
Precision?
1.0
Recall?
0.9512195121951219
Freqs
test
numberfreq
0217
139
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
25.0ms512×0valid
Compiler

Compiled 62 to 22 computations (64.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult!: 9.0ms (77.7% of total)
ival-neg: 3.0ms (25.9% of total)
adjust: 0.0ms (0% of total)

preprocess27.0ms (2.9%)

Memory
-17.2MiB live, 33.6MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02146
16646
224446
354246
477246
578346
068
0108
1248
2818
33038
47198
58448
08448
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Outputs
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(*.f64 (*.f64 b a) (*.f64 (neg.f64 b) a))
Symmetry

(abs a)

(abs b)

(sort a b)

Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.0%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 8 to 6 computations (25% saved)

series8.0ms (0.8%)

Memory
12.8MiB live, 12.8MiB allocated; 0ms collecting garbage
Counts
6 → 6
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 a a) b)
(*.f64 a a)
a
b
Outputs
#s(approx (neg (* (* (* a a) b) b)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* a a) b) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* a a) b) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* a a) #s(hole binary64 (pow a 2)))
#s(approx a #s(hole binary64 a))
#s(approx b #s(hole binary64 b))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
b
@-inf
((neg (* (* (* a a) b) b)) (* (* (* a a) b) b) (* (* a a) b) (* a a) a b)
2.0ms
a
@inf
((neg (* (* (* a a) b) b)) (* (* (* a a) b) b) (* (* a a) b) (* a a) a b)
1.0ms
a
@0
((neg (* (* (* a a) b) b)) (* (* (* a a) b) b) (* (* a a) b) (* a a) a b)
1.0ms
a
@-inf
((neg (* (* (* a a) b) b)) (* (* (* a a) b) b) (* (* a a) b) (* a a) a b)
1.0ms
b
@inf
((neg (* (* (* a a) b) b)) (* (* (* a a) b) b) (* (* a a) b) (* a a) a b)

rewrite37.0ms (3.9%)

Memory
-2.8MiB live, 43.7MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02382
02969
16969
022769
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
12 → 74
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 a a) b)
(*.f64 a a)
a
b
#s(approx (neg (* (* (* a a) b) b)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* a a) b) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* a a) b) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* a a) #s(hole binary64 (pow a 2)))
#s(approx a #s(hole binary64 a))
#s(approx b #s(hole binary64 b))
Outputs
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a a))) b)
(*.f64 (*.f64 #s(literal -1 binary64) b) (*.f64 b (*.f64 a a)))
(*.f64 (neg.f64 (*.f64 b b)) (*.f64 a a))
(*.f64 (neg.f64 (*.f64 a a)) (*.f64 b b))
(*.f64 (neg.f64 b) (*.f64 b (*.f64 a a)))
(*.f64 (*.f64 (neg.f64 b) (*.f64 a a)) b)
(*.f64 (*.f64 b b) (neg.f64 (*.f64 a a)))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 b (*.f64 a a)) (*.f64 b #s(literal -1 binary64)))
(*.f64 (*.f64 b (*.f64 a a)) (neg.f64 b))
(*.f64 b (*.f64 (*.f64 b (*.f64 a a)) #s(literal -1 binary64)))
(*.f64 b (*.f64 (neg.f64 b) (*.f64 a a)))
(*.f64 (*.f64 a a) (*.f64 (*.f64 b b) #s(literal -1 binary64)))
(*.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(*.f64 (*.f64 a a) (neg.f64 (*.f64 b b)))
(*.f64 a (*.f64 (*.f64 b a) (neg.f64 b)))
(neg.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 b b) (neg.f64 a)) (neg.f64 a))
(*.f64 (*.f64 (*.f64 b b) (fabs.f64 a)) (fabs.f64 a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b (neg.f64 a)) (*.f64 b (neg.f64 a)))
(*.f64 (*.f64 b (fabs.f64 a)) (*.f64 b (fabs.f64 a)))
(*.f64 (*.f64 (neg.f64 a) b) (*.f64 (neg.f64 a) b))
(*.f64 (*.f64 (fabs.f64 a) b) (*.f64 (fabs.f64 a) b))
(*.f64 (pow.f64 (*.f64 b a) #s(literal 1 binary64)) (pow.f64 (*.f64 b a) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 b a) #s(literal 1 binary64)) (*.f64 b a))
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) (*.f64 b b)))
(*.f64 (fabs.f64 a) (*.f64 (fabs.f64 a) (*.f64 b b)))
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a (*.f64 (*.f64 b a) b))
(*.f64 a (*.f64 a (*.f64 b b)))
(pow.f64 (*.f64 b a) #s(literal 2 binary64))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) (*.f64 (log.f64 a) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 a) #s(literal 2 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 b a)) #s(literal 2 binary64)))
(*.f64 (*.f64 b (neg.f64 a)) (neg.f64 a))
(*.f64 (*.f64 b (fabs.f64 a)) (fabs.f64 a))
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) b))
(*.f64 (fabs.f64 a) (*.f64 (fabs.f64 a) b))
(*.f64 (*.f64 b a) a)
(*.f64 b (*.f64 a a))
(*.f64 (*.f64 a a) b)
(*.f64 a (*.f64 b a))
(*.f64 (neg.f64 (neg.f64 a)) (neg.f64 (neg.f64 a)))
(*.f64 (neg.f64 (fabs.f64 a)) (neg.f64 (fabs.f64 a)))
(*.f64 (fabs.f64 (fabs.f64 a)) (fabs.f64 (fabs.f64 a)))
(*.f64 (exp.f64 (log.f64 a)) (exp.f64 (log.f64 a)))
(*.f64 (neg.f64 a) (neg.f64 a))
(*.f64 (fabs.f64 a) (fabs.f64 a))
(*.f64 a a)
(pow.f64 (exp.f64 (log.f64 a)) #s(literal 2 binary64))
(pow.f64 (neg.f64 a) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a) #s(literal 2 binary64))
(pow.f64 (*.f64 a a) #s(literal 1 binary64))
(pow.f64 a #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 a) a))
(neg.f64 (*.f64 a (neg.f64 a)))
(fabs.f64 (*.f64 a a))
(exp.f64 (*.f64 (log.f64 a) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 a) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 a) #s(literal 2 binary64))))
a
b
#s(approx (neg (* (* (* a a) b) b)) (neg.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64))))
#s(approx (* (* (* a a) b) b) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
#s(approx (* (* a a) b) (*.f64 b (*.f64 a a)))
#s(approx (* a a) (*.f64 a a))
#s(approx a a)
#s(approx b b)

eval7.0ms (0.8%)

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

Compiled 730 to 227 computations (68.9% saved)

prune10.0ms (1%)

Memory
17.0MiB live, 17.0MiB allocated; 0ms collecting garbage
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New75378
Fresh000
Picked011
Done000
Total75479
Accuracy
99.9%
Counts
79 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.4%
(*.f64 a (*.f64 (*.f64 b a) (neg.f64 b)))
85.7%
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
86.0%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
99.7%
(neg.f64 (*.f64 (*.f64 b a) (*.f64 b a)))
Compiler

Compiled 32 to 23 computations (28.1% saved)

series11.0ms (1.2%)

Memory
-29.2MiB live, 17.9MiB allocated; 1ms collecting garbage
Counts
12 → 12
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 b a) (*.f64 b a)))
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 b a)
b
a
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) a)
(*.f64 b b)
(*.f64 a (*.f64 (*.f64 b a) (neg.f64 b)))
(*.f64 (*.f64 b a) (neg.f64 b))
(neg.f64 b)
Outputs
#s(approx (neg (* (* b a) (* b a))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* b a) (* b a)) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* b a) #s(hole binary64 (* a b)))
#s(approx a #s(hole binary64 a))
#s(approx (neg (* (* (* b b) a) a)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* b b) a) a) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* b b) a) #s(hole binary64 (* a (pow b 2))))
#s(approx (* a (* (* b a) (neg b))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* b a) (neg b)) #s(hole binary64 (* -1 (* a (pow b 2)))))
#s(approx b #s(hole binary64 b))
#s(approx (* b b) #s(hole binary64 (pow b 2)))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
a
@-inf
((neg (* (* b a) (* b a))) (* (* b a) (* b a)) (* b a) b a (neg (* (* (* b b) a) a)) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* a (* (* b a) (neg b))) (* (* b a) (neg b)) (neg b))
2.0ms
a
@inf
((neg (* (* b a) (* b a))) (* (* b a) (* b a)) (* b a) b a (neg (* (* (* b b) a) a)) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* a (* (* b a) (neg b))) (* (* b a) (neg b)) (neg b))
2.0ms
b
@-inf
((neg (* (* b a) (* b a))) (* (* b a) (* b a)) (* b a) b a (neg (* (* (* b b) a) a)) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* a (* (* b a) (neg b))) (* (* b a) (neg b)) (neg b))
2.0ms
b
@inf
((neg (* (* b a) (* b a))) (* (* b a) (* b a)) (* b a) b a (neg (* (* (* b b) a) a)) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* a (* (* b a) (neg b))) (* (* b a) (neg b)) (neg b))
2.0ms
a
@0
((neg (* (* b a) (* b a))) (* (* b a) (* b a)) (* b a) b a (neg (* (* (* b b) a) a)) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* a (* (* b a) (neg b))) (* (* b a) (neg b)) (neg b))

rewrite37.0ms (4%)

Memory
0.2MiB live, 47.0MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044194
057159
1123159
0334159
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
24 → 237
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 b a) (*.f64 b a)))
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 b a)
b
a
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) a)
(*.f64 b b)
(*.f64 a (*.f64 (*.f64 b a) (neg.f64 b)))
(*.f64 (*.f64 b a) (neg.f64 b))
(neg.f64 b)
#s(approx (neg (* (* b a) (* b a))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* b a) (* b a)) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* b a) #s(hole binary64 (* a b)))
#s(approx a #s(hole binary64 a))
#s(approx (neg (* (* (* b b) a) a)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* b b) a) a) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* b b) a) #s(hole binary64 (* a (pow b 2))))
#s(approx (* a (* (* b a) (neg b))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* b a) (neg b)) #s(hole binary64 (* -1 (* a (pow b 2)))))
#s(approx b #s(hole binary64 b))
#s(approx (* b b) #s(hole binary64 (pow b 2)))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
Outputs
(*.f64 (*.f64 (*.f64 (*.f64 a a) b) #s(literal -1 binary64)) b)
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 b) a)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 #s(literal -1 binary64) (fabs.f64 (*.f64 a b))) (fabs.f64 (*.f64 a b)))
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 a b)) (*.f64 a b))
(*.f64 (neg.f64 (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b))
(*.f64 (neg.f64 (*.f64 (neg.f64 b) a)) (*.f64 (neg.f64 b) a))
(*.f64 (neg.f64 (fabs.f64 (*.f64 a b))) (fabs.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (neg.f64 b) a) #s(literal -1 binary64)))
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (fabs.f64 (*.f64 a b)) (*.f64 (fabs.f64 (*.f64 a b)) #s(literal -1 binary64)))
(*.f64 (fabs.f64 (*.f64 a b)) (neg.f64 (fabs.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 b b) (*.f64 a (neg.f64 a)))
(*.f64 (*.f64 b b) (*.f64 (neg.f64 a) a))
(*.f64 (*.f64 a a) (*.f64 (*.f64 b b) #s(literal -1 binary64)))
(*.f64 (*.f64 a a) (neg.f64 (*.f64 b b)))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(*.f64 (*.f64 a b) (*.f64 (neg.f64 b) a))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) b) a))
(*.f64 b (*.f64 (*.f64 a b) (neg.f64 a)))
(*.f64 b (*.f64 a (*.f64 (neg.f64 b) a)))
(*.f64 b (*.f64 (*.f64 (*.f64 a a) b) #s(literal -1 binary64)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(*.f64 b (neg.f64 (*.f64 (*.f64 a a) b)))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (fabs.f64 b) a) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 a (fabs.f64 b)) (*.f64 a (fabs.f64 b)))
(*.f64 (neg.f64 (*.f64 (neg.f64 b) a)) (neg.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (neg.f64 (fabs.f64 (*.f64 a b))) (neg.f64 (fabs.f64 (*.f64 a b))))
(*.f64 (fabs.f64 (fabs.f64 (*.f64 a b))) (fabs.f64 (fabs.f64 (*.f64 a b))))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1 binary64)) (pow.f64 (*.f64 a b) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1 binary64)) (*.f64 a b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))
(*.f64 (fabs.f64 (*.f64 a b)) (fabs.f64 (*.f64 a b)))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) (*.f64 a a)))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 b (*.f64 (*.f64 a a) b))
(pow.f64 (*.f64 (neg.f64 b) a) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (*.f64 a b)) #s(literal 2 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(neg.f64 (neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) (*.f64 (log.f64 a) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 a) #s(literal 2 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(*.f64 a b)
(*.f64 b a)
b
a
(*.f64 (*.f64 (*.f64 (*.f64 a a) b) #s(literal -1 binary64)) b)
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 b) a)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 #s(literal -1 binary64) (fabs.f64 (*.f64 a b))) (fabs.f64 (*.f64 a b)))
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 a b)) (*.f64 a b))
(*.f64 (neg.f64 (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b))
(*.f64 (neg.f64 (*.f64 (neg.f64 b) a)) (*.f64 (neg.f64 b) a))
(*.f64 (neg.f64 (fabs.f64 (*.f64 a b))) (fabs.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (neg.f64 b) a) #s(literal -1 binary64)))
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (fabs.f64 (*.f64 a b)) (*.f64 (fabs.f64 (*.f64 a b)) #s(literal -1 binary64)))
(*.f64 (fabs.f64 (*.f64 a b)) (neg.f64 (fabs.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 b b) (*.f64 a (neg.f64 a)))
(*.f64 (*.f64 b b) (*.f64 (neg.f64 a) a))
(*.f64 (*.f64 a a) (*.f64 (*.f64 b b) #s(literal -1 binary64)))
(*.f64 (*.f64 a a) (neg.f64 (*.f64 b b)))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(*.f64 (*.f64 a b) (*.f64 (neg.f64 b) a))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) b) a))
(*.f64 b (*.f64 (*.f64 a b) (neg.f64 a)))
(*.f64 b (*.f64 a (*.f64 (neg.f64 b) a)))
(*.f64 b (*.f64 (*.f64 (*.f64 a a) b) #s(literal -1 binary64)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(*.f64 b (neg.f64 (*.f64 (*.f64 a a) b)))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (fabs.f64 b) a) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 a (fabs.f64 b)) (*.f64 a (fabs.f64 b)))
(*.f64 (neg.f64 (*.f64 (neg.f64 b) a)) (neg.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (neg.f64 (fabs.f64 (*.f64 a b))) (neg.f64 (fabs.f64 (*.f64 a b))))
(*.f64 (fabs.f64 (fabs.f64 (*.f64 a b))) (fabs.f64 (fabs.f64 (*.f64 a b))))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1 binary64)) (pow.f64 (*.f64 a b) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1 binary64)) (*.f64 a b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))
(*.f64 (fabs.f64 (*.f64 a b)) (fabs.f64 (*.f64 a b)))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) (*.f64 a a)))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 b (*.f64 (*.f64 a a) b))
(pow.f64 (*.f64 (neg.f64 b) a) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (*.f64 a b)) #s(literal 2 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(neg.f64 (neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) (*.f64 (log.f64 a) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 a) #s(literal 2 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(*.f64 (*.f64 a (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 b))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) a))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 b b) a)
(*.f64 (*.f64 a b) b)
(*.f64 a (*.f64 b b))
(*.f64 b (*.f64 a b))
(*.f64 (*.f64 (neg.f64 b) #s(literal -1 binary64)) b)
(*.f64 (*.f64 (neg.f64 b) b) #s(literal -1 binary64))
(*.f64 (neg.f64 (fabs.f64 b)) (neg.f64 (fabs.f64 b)))
(*.f64 (neg.f64 (neg.f64 b)) (neg.f64 (neg.f64 b)))
(*.f64 (fabs.f64 (fabs.f64 b)) (fabs.f64 (fabs.f64 b)))
(*.f64 (exp.f64 (log.f64 b)) (exp.f64 (log.f64 b)))
(*.f64 #s(literal 1 binary64) (*.f64 b b))
(*.f64 (fabs.f64 b) (fabs.f64 b))
(*.f64 (neg.f64 b) (neg.f64 b))
(*.f64 (*.f64 b b) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 b (neg.f64 b)))
(*.f64 b (*.f64 #s(literal -1 binary64) (neg.f64 b)))
(*.f64 b b)
(pow.f64 (exp.f64 (log.f64 b)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 b) #s(literal 2 binary64))
(pow.f64 (neg.f64 b) #s(literal 2 binary64))
(pow.f64 (*.f64 b b) #s(literal 1 binary64))
(pow.f64 b #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 b) b))
(neg.f64 (*.f64 b (neg.f64 b)))
(fabs.f64 (*.f64 b b))
(exp.f64 (*.f64 (log.f64 b) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 b) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 b) #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 (*.f64 a a) b) #s(literal -1 binary64)) b)
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 b) a)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 #s(literal -1 binary64) (fabs.f64 (*.f64 a b))) (fabs.f64 (*.f64 a b)))
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 a b)) (*.f64 a b))
(*.f64 (neg.f64 (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b))
(*.f64 (neg.f64 (*.f64 (neg.f64 b) a)) (*.f64 (neg.f64 b) a))
(*.f64 (neg.f64 (fabs.f64 (*.f64 a b))) (fabs.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (neg.f64 b) a) #s(literal -1 binary64)))
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (fabs.f64 (*.f64 a b)) (*.f64 (fabs.f64 (*.f64 a b)) #s(literal -1 binary64)))
(*.f64 (fabs.f64 (*.f64 a b)) (neg.f64 (fabs.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 b b) (*.f64 a (neg.f64 a)))
(*.f64 (*.f64 b b) (*.f64 (neg.f64 a) a))
(*.f64 (*.f64 a a) (*.f64 (*.f64 b b) #s(literal -1 binary64)))
(*.f64 (*.f64 a a) (neg.f64 (*.f64 b b)))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(*.f64 (*.f64 a b) (*.f64 (neg.f64 b) a))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) b) a))
(*.f64 b (*.f64 (*.f64 a b) (neg.f64 a)))
(*.f64 b (*.f64 a (*.f64 (neg.f64 b) a)))
(*.f64 b (*.f64 (*.f64 (*.f64 a a) b) #s(literal -1 binary64)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(*.f64 b (neg.f64 (*.f64 (*.f64 a a) b)))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(*.f64 (*.f64 (neg.f64 a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 #s(literal -1 binary64) (*.f64 b b)) a)
(*.f64 (*.f64 (neg.f64 b) b) a)
(*.f64 (neg.f64 (*.f64 b b)) a)
(*.f64 (neg.f64 a) (*.f64 b b))
(*.f64 (*.f64 (neg.f64 b) a) b)
(*.f64 (neg.f64 b) (*.f64 a b))
(*.f64 (*.f64 (*.f64 b b) a) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (neg.f64 a))
(*.f64 #s(literal -1 binary64) (*.f64 (*.f64 b b) a))
(*.f64 (*.f64 a b) (neg.f64 b))
(*.f64 a (*.f64 (*.f64 b b) #s(literal -1 binary64)))
(*.f64 a (*.f64 b (neg.f64 b)))
(*.f64 a (neg.f64 (*.f64 b b)))
(*.f64 b (*.f64 #s(literal -1 binary64) (*.f64 a b)))
(*.f64 b (*.f64 (neg.f64 b) a))
(neg.f64 (*.f64 (*.f64 b b) a))
(*.f64 #s(literal -1 binary64) b)
(*.f64 b #s(literal -1 binary64))
(neg.f64 b)
#s(approx (neg (* (* b a) (* b a))) (neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
#s(approx (* (* b a) (* b a)) (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
#s(approx (* b a) (*.f64 a b))
#s(approx a a)
#s(approx (neg (* (* b a) (* b a))) (neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
#s(approx (* (* b a) (* b a)) (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
#s(approx (* (* b b) a) (*.f64 (*.f64 b b) a))
#s(approx (neg (* (* b a) (* b a))) (neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
#s(approx (* (* b a) (neg b)) (*.f64 (*.f64 (neg.f64 b) b) a))
#s(approx b b)
#s(approx (* b b) (*.f64 b b))
#s(approx (neg b) (neg.f64 b))

eval14.0ms (1.5%)

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

Compiled 1 459 to 379 computations (74% saved)

prune76.0ms (8.1%)

Memory
-39.4MiB live, 59.4MiB allocated; 46ms collecting garbage
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1570157
Fresh000
Picked033
Done011
Total1574161
Accuracy
99.9%
Counts
161 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.4%
(*.f64 a (*.f64 (*.f64 b a) (neg.f64 b)))
85.7%
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
86.0%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
99.7%
(neg.f64 (*.f64 (*.f64 b a) (*.f64 b a)))
Compiler

Compiled 64 to 39 computations (39.1% saved)

regimes8.0ms (0.9%)

Memory
16.9MiB live, 16.9MiB allocated; 0ms collecting garbage
Accuracy

Total -12.3b remaining (-5854.3%)

Threshold costs -12.3b (-5854.3%)

Counts
4 → 1
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 b a) (*.f64 b a)))
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
(*.f64 a (*.f64 (*.f64 b a) (neg.f64 b)))
Outputs
(neg.f64 (*.f64 (*.f64 b a) (*.f64 b a)))
Calls

5 calls:

2.0ms
b
2.0ms
a
1.0ms
(*.f64 a a)
1.0ms
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
1.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
Results
AccuracySegmentsBranch
99.7%1(*.f64 a a)
99.7%1(*.f64 (*.f64 (*.f64 a a) b) b)
99.7%1(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
99.7%1a
99.7%1b
Compiler

Compiled 20 to 18 computations (10% saved)

simplify9.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
058
1138
2218
3288
4308
Stop Event
saturated
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 b a) (*.f64 b a)))
Outputs
(neg.f64 (*.f64 (*.f64 b a) (*.f64 b a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))

derivations1.0ms (0.1%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 8 to 6 computations (25% saved)

preprocess13.0ms (1.4%)

Memory
-25.5MiB live, 21.4MiB allocated; 2ms collecting garbage
Remove

(sort a b)

(abs b)

(abs a)

Compiler

Compiled 80 to 60 computations (25% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...