Expression 4, p15

Time bar (total: 1.7s)

start0.0ms (0%)

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

analyze70.0ms (4%)

Memory
-30.2MiB live, 64.6MiB allocated; 7ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
0%0%0%100%0%0%0%2
50%0%0%100%0%0%0%3
50%0%0%100%0%0%0%4
75%0%0%100%0%0%0%5
75%0%0%100%0%0%0%6
87.5%0%0%100%0%0%0%7
87.5%0%0%100%0%0%0%8
93.8%0%0%100%0%0%0%9
93.8%0%0%100%0%0%0%10
96.9%0%0%100%0%0%0%11
96.9%0%0%100%0%0%0%12
Compiler

Compiled 23 to 16 computations (30.4% saved)

sample778.0ms (44.8%)

Memory
66.1MiB live, 943.7MiB allocated; 223ms collecting garbage
Samples
445.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 127.0ms
ival-add: 58.0ms (45.8% of total)
ival-mult: 57.0ms (45% of total)
const: 5.0ms (3.9% of total)
adjust: 3.0ms (2.4% of total)
ival-assert: 3.0ms (2.4% of total)
ival-and: 1.0ms (0.8% of total)
ival-<=: 1.0ms (0.8% of total)
Bogosity

explain58.0ms (3.3%)

Memory
-31.7MiB live, 58.1MiB allocated; 20ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 a b)
00-0-(*.f64 (+.f64 a b) (+.f64 a b))
00-0-a
00-0-b
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
23.0ms512×0valid
Compiler

Compiled 35 to 16 computations (54.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-add: 8.0ms (66.8% of total)
ival-mult: 3.0ms (25% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess183.0ms (10.6%)

Memory
21.2MiB live, 175.9MiB allocated; 55ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01452
16452
220848
370846
4109446
5175042
6302242
7378142
8432742
9598642
047
067
1177
2537
31707
45067
58527
615257
723427
828517
940677
1062347
080187
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (+.f64 a b) (+.f64 a b))
Outputs
(*.f64 (+.f64 a b) (+.f64 a b))
(*.f64 (+.f64 b a) (+.f64 b a))
Symmetry

(sort a b)

Compiler

Compiled 7 to 4 computations (42.9% 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.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 a b) (+.f64 a b))
Compiler

Compiled 7 to 4 computations (42.9% saved)

series5.0ms (0.3%)

Memory
-34.2MiB live, 12.4MiB allocated; 3ms collecting garbage
Counts
4 → 21
Calls
Call 1
Inputs
(*.f64 (+.f64 a b) (+.f64 a b))
(+.f64 a b)
a
b
Outputs
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (pow b 2)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* 2 (* a b)) (pow b 2))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* a (+ a (* 2 b))) (pow b 2))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx a #s(hole binary64 a))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (pow a 2)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (* 2 (/ b a))))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (+ (* 2 (/ b a)) (/ (pow b 2) (pow a 2)))))))
#s(approx (+ a b) #s(hole binary64 a))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (* -1 (/ (+ (* -2 b) (* -1 (/ (pow b 2) a))) a))))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* 2 (* a b)) (pow a 2))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* b (+ b (* 2 a))) (pow a 2))))
#s(approx b #s(hole binary64 b))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (* 2 (/ a b))))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (+ (* 2 (/ a b)) (/ (pow a 2) (pow b 2)))))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (* -1 (/ (+ (* -2 a) (* -1 (/ (pow a 2) b))) b))))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
Calls

6 calls:

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

rewrite163.0ms (9.4%)

Memory
20.4MiB live, 254.4MiB allocated; 42ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089331
090295
1497285
04969271
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
25 → 66
Calls
Call 1
Inputs
(*.f64 (+.f64 a b) (+.f64 a b))
(+.f64 a b)
a
b
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (pow b 2)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* 2 (* a b)) (pow b 2))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* a (+ a (* 2 b))) (pow b 2))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx a #s(hole binary64 a))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (pow a 2)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (* 2 (/ b a))))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (+ (* 2 (/ b a)) (/ (pow b 2) (pow a 2)))))))
#s(approx (+ a b) #s(hole binary64 a))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (* -1 (/ (+ (* -2 b) (* -1 (/ (pow b 2) a))) a))))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* 2 (* a b)) (pow a 2))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* b (+ b (* 2 a))) (pow a 2))))
#s(approx b #s(hole binary64 b))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (* 2 (/ a b))))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (+ (* 2 (/ a b)) (/ (pow a 2) (pow b 2)))))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (* -1 (/ (+ (* -2 a) (* -1 (/ (pow a 2) b))) b))))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
Outputs
(*.f64 (neg.f64 (neg.f64 (+.f64 b a))) (neg.f64 (neg.f64 (+.f64 b a))))
(*.f64 (neg.f64 (fabs.f64 (+.f64 b a))) (neg.f64 (fabs.f64 (+.f64 b a))))
(*.f64 (fabs.f64 (fabs.f64 (+.f64 b a))) (fabs.f64 (fabs.f64 (+.f64 b a))))
(*.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 (+.f64 b a)) (neg.f64 (+.f64 b a)))
(*.f64 (fabs.f64 (+.f64 b a)) (fabs.f64 (+.f64 b a)))
(*.f64 (+.f64 b a) (+.f64 b a))
(pow.f64 (neg.f64 (+.f64 b a)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (+.f64 b a)) #s(literal 2 binary64))
(pow.f64 (+.f64 b a) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (+.f64 b a) (-.f64 a b)) (+.f64 b a)) (-.f64 a b))
(/.f64 (*.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (+.f64 b a)) (fma.f64 b (-.f64 b a) (*.f64 a a)))
(/.f64 (*.f64 (+.f64 b a) (*.f64 (+.f64 b a) (-.f64 a b))) (-.f64 a b))
(/.f64 (*.f64 (+.f64 b a) (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) (fma.f64 b (-.f64 b a) (*.f64 a a)))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 b a) a) (*.f64 (+.f64 b a) a)) (*.f64 (*.f64 (+.f64 b a) b) (*.f64 (+.f64 b a) b))) (-.f64 (*.f64 (+.f64 b a) a) (*.f64 (+.f64 b a) b)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 b a) a) #s(literal 3 binary64)) (pow.f64 (*.f64 (+.f64 b a) b) #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 b a) a) (*.f64 (+.f64 b a) a) (-.f64 (*.f64 (*.f64 (+.f64 b a) b) (*.f64 (+.f64 b a) b)) (*.f64 (*.f64 (+.f64 b a) a) (*.f64 (+.f64 b a) b)))))
(/.f64 (*.f64 (*.f64 (+.f64 b a) (-.f64 a b)) (*.f64 (+.f64 b a) (-.f64 a b))) (*.f64 (-.f64 a b) (-.f64 a b)))
(/.f64 (*.f64 (*.f64 (+.f64 b a) (-.f64 a b)) (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) (*.f64 (-.f64 a b) (fma.f64 b (-.f64 b a) (*.f64 a a))))
(/.f64 (*.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (*.f64 (+.f64 b a) (-.f64 a b))) (*.f64 (fma.f64 b (-.f64 b a) (*.f64 a a)) (-.f64 a b)))
(/.f64 (*.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) (*.f64 (fma.f64 b (-.f64 b a) (*.f64 a a)) (fma.f64 b (-.f64 b a) (*.f64 a a))))
(neg.f64 (*.f64 (neg.f64 (+.f64 b a)) (+.f64 b a)))
(neg.f64 (*.f64 (+.f64 b a) (neg.f64 (+.f64 b a))))
(fma.f64 (+.f64 b a) b (*.f64 (+.f64 b a) a))
(fma.f64 (+.f64 b a) a (*.f64 (+.f64 b a) b))
(fma.f64 b (+.f64 b a) (*.f64 (+.f64 b a) a))
(fma.f64 a (+.f64 b a) (*.f64 (+.f64 b a) b))
(-.f64 (*.f64 (+.f64 b a) a) (*.f64 (neg.f64 b) (+.f64 b a)))
(-.f64 (*.f64 (+.f64 b a) a) (*.f64 (neg.f64 (+.f64 b a)) b))
(fabs.f64 (pow.f64 (+.f64 b a) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (+.f64 b a)) #s(literal 2 binary64)))
(+.f64 (*.f64 (+.f64 b a) b) (*.f64 (+.f64 b a) a))
(+.f64 (*.f64 (+.f64 b a) a) (*.f64 (+.f64 b a) b))
(/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 b a))
(/.f64 (neg.f64 (*.f64 (+.f64 b a) (-.f64 a b))) (neg.f64 (-.f64 a b)))
(/.f64 (neg.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) (neg.f64 (fma.f64 b (-.f64 b a) (*.f64 a a))))
(/.f64 (*.f64 (+.f64 b a) (-.f64 a b)) (-.f64 a b))
(/.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 b b (-.f64 (*.f64 a a) (*.f64 b a))))
(/.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 b (-.f64 b a) (*.f64 a a)))
(-.f64 (/.f64 (*.f64 a a) (-.f64 a b)) (/.f64 (*.f64 b b) (-.f64 a b)))
(+.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))) (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))))
(+.f64 b a)
(+.f64 a b)
a
b
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
#s(approx (* (+ a b) (+ a b)) (fma.f64 (fma.f64 #s(literal 2 binary64) a b) b (*.f64 a a)))
#s(approx (+ a b) b)
#s(approx (+ a b) (+.f64 b a))
#s(approx a a)
#s(approx (* (+ a b) (+ a b)) (*.f64 a a))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (fma.f64 (/.f64 b a) #s(literal 2 binary64) #s(literal 1 binary64)) a) a))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (-.f64 (fma.f64 (/.f64 b a) #s(literal 2 binary64) (pow.f64 (/.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64)) a) a))
#s(approx (+ a b) a)
#s(approx (+ a b) (fma.f64 (/.f64 b a) a a))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (-.f64 (fma.f64 (/.f64 b a) #s(literal 2 binary64) (pow.f64 (/.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64)) a) a))
#s(approx (+ a b) (*.f64 (neg.f64 a) (fma.f64 #s(literal -1 binary64) (/.f64 b a) #s(literal -1 binary64))))
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) b a) a))
#s(approx (* (+ a b) (+ a b)) (fma.f64 (fma.f64 #s(literal 2 binary64) a b) b (*.f64 a a)))
#s(approx b b)
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (fma.f64 (/.f64 a b) #s(literal 2 binary64) #s(literal 1 binary64)) b) b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (-.f64 (fma.f64 (/.f64 a b) #s(literal 2 binary64) (pow.f64 (/.f64 a b) #s(literal 2 binary64))) #s(literal -1 binary64)) b) b))
#s(approx (+ a b) (fma.f64 (/.f64 a b) b b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (-.f64 (fma.f64 (/.f64 a b) #s(literal 2 binary64) (pow.f64 (/.f64 a b) #s(literal 2 binary64))) #s(literal -1 binary64)) b) b))
#s(approx (+ a b) (*.f64 (neg.f64 b) (fma.f64 (/.f64 a b) #s(literal -1 binary64) #s(literal -1 binary64))))

eval8.0ms (0.5%)

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

Compiled 1 222 to 196 computations (84% saved)

prune9.0ms (0.5%)

Memory
-34.3MiB live, 10.7MiB allocated; 11ms collecting garbage
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New81384
Fresh000
Picked011
Done000
Total81485
Accuracy
100.0%
Counts
85 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 a b) (+.f64 a b))
99.4%
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
99.7%
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
99.4%
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
Compiler

Compiled 41 to 24 computations (41.5% saved)

series6.0ms (0.4%)

Memory
13.7MiB live, 13.7MiB allocated; 0ms collecting garbage
Counts
11 → 36
Calls
Call 1
Inputs
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
(*.f64 b b)
b
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
(*.f64 (fma.f64 #s(literal 2 binary64) a b) b)
(fma.f64 #s(literal 2 binary64) a b)
#s(literal 2 binary64)
a
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
(+.f64 a b)
#s(approx (+ a b) b)
Outputs
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (pow b 2)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* 2 (* a b)) (pow b 2))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* a (+ a (* 2 b))) (pow b 2))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (pow b 2)))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (+ (* 2 (* a b)) (pow b 2))))
#s(approx (+ (* 2 a) b) #s(hole binary64 b))
#s(approx (+ (* 2 a) b) #s(hole binary64 (+ b (* 2 a))))
#s(approx a #s(hole binary64 a))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (pow a 2)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (* 2 (/ b a))))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (+ (* 2 (/ b a)) (/ (pow b 2) (pow a 2)))))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* 2 (* a b))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* a (+ (* 2 b) (/ (pow b 2) a)))))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* 2 a)))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* a (+ 2 (/ b a)))))
#s(approx (+ a b) #s(hole binary64 a))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (* -1 (/ (+ (* -2 b) (* -1 (/ (pow b 2) a))) a))))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* -1 (* a (+ (* -2 b) (* -1 (/ (pow b 2) a)))))))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 2)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* 2 (* a b)) (pow a 2))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* b (+ b (* 2 a))) (pow a 2))))
#s(approx (* b b) #s(hole binary64 (pow b 2)))
#s(approx b #s(hole binary64 b))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* b (+ b (* 2 a)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (* 2 (/ a b))))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (+ (* 2 (/ a b)) (/ (pow a 2) (pow b 2)))))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* (pow b 2) (+ 1 (* 2 (/ a b))))))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* b (+ 1 (* 2 (/ a b))))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (* -1 (/ (+ (* -2 a) (* -1 (/ (pow a 2) b))) b))))))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* -1 (* b (- (* -2 (/ a b)) 1)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
b
@-inf
((* (+ a b) (+ a b)) (* b b) b (* (+ a b) (+ a b)) (* (+ (* 2 a) b) b) (+ (* 2 a) b) 2 a (* (+ a b) (+ a b)) (+ a b) (+ a b))
1.0ms
b
@0
((* (+ a b) (+ a b)) (* b b) b (* (+ a b) (+ a b)) (* (+ (* 2 a) b) b) (+ (* 2 a) b) 2 a (* (+ a b) (+ a b)) (+ a b) (+ a b))
1.0ms
b
@inf
((* (+ a b) (+ a b)) (* b b) b (* (+ a b) (+ a b)) (* (+ (* 2 a) b) b) (+ (* 2 a) b) 2 a (* (+ a b) (+ a b)) (+ a b) (+ a b))
1.0ms
a
@-inf
((* (+ a b) (+ a b)) (* b b) b (* (+ a b) (+ a b)) (* (+ (* 2 a) b) b) (+ (* 2 a) b) 2 a (* (+ a b) (+ a b)) (+ a b) (+ a b))
1.0ms
a
@inf
((* (+ a b) (+ a b)) (* b b) b (* (+ a b) (+ a b)) (* (+ (* 2 a) b) b) (+ (* 2 a) b) 2 a (* (+ a b) (+ a b)) (+ a b) (+ a b))

rewrite174.0ms (10%)

Memory
5.8MiB live, 242.1MiB allocated; 39ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0126576
0132527
1631514
06071498
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
47 → 169
Calls
Call 1
Inputs
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
(*.f64 b b)
b
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
(*.f64 (fma.f64 #s(literal 2 binary64) a b) b)
(fma.f64 #s(literal 2 binary64) a b)
#s(literal 2 binary64)
a
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
(+.f64 a b)
#s(approx (+ a b) b)
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (pow b 2)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* 2 (* a b)) (pow b 2))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* a (+ a (* 2 b))) (pow b 2))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (pow b 2)))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (+ (* 2 (* a b)) (pow b 2))))
#s(approx (+ (* 2 a) b) #s(hole binary64 b))
#s(approx (+ (* 2 a) b) #s(hole binary64 (+ b (* 2 a))))
#s(approx a #s(hole binary64 a))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (pow a 2)))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (* 2 (/ b a))))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (+ (* 2 (/ b a)) (/ (pow b 2) (pow a 2)))))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* 2 (* a b))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* a (+ (* 2 b) (/ (pow b 2) a)))))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* 2 a)))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* a (+ 2 (/ b a)))))
#s(approx (+ a b) #s(hole binary64 a))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow a 2) (+ 1 (* -1 (/ (+ (* -2 b) (* -1 (/ (pow b 2) a))) a))))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* -1 (* a (+ (* -2 b) (* -1 (/ (pow b 2) a)))))))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 2)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* 2 (* a b)) (pow a 2))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (+ (* b (+ b (* 2 a))) (pow a 2))))
#s(approx (* b b) #s(hole binary64 (pow b 2)))
#s(approx b #s(hole binary64 b))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* b (+ b (* 2 a)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (* 2 (/ a b))))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (+ (* 2 (/ a b)) (/ (pow a 2) (pow b 2)))))))
#s(approx (* (+ (* 2 a) b) b) #s(hole binary64 (* (pow b 2) (+ 1 (* 2 (/ a b))))))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* b (+ 1 (* 2 (/ a b))))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (* (+ a b) (+ a b)) #s(hole binary64 (* (pow b 2) (+ 1 (* -1 (/ (+ (* -2 a) (* -1 (/ (pow a 2) b))) b))))))
#s(approx (+ (* 2 a) b) #s(hole binary64 (* -1 (* b (- (* -2 (/ a b)) 1)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
Outputs
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
(*.f64 (*.f64 (neg.f64 b) #s(literal 1 binary64)) (*.f64 (neg.f64 b) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 b) #s(literal 1 binary64)) (*.f64 (fabs.f64 b) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 b)) (*.f64 #s(literal 1 binary64) (neg.f64 b)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 b)) (*.f64 #s(literal 1 binary64) (fabs.f64 b)))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (neg.f64 (fabs.f64 b)) (neg.f64 (fabs.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 (neg.f64 b) (*.f64 (neg.f64 b) #s(literal 1 binary64)))
(*.f64 (neg.f64 b) (neg.f64 b))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) #s(literal 1 binary64)))
(*.f64 (fabs.f64 b) (fabs.f64 b))
(*.f64 #s(literal 1 binary64) (*.f64 b b))
(*.f64 (*.f64 b b) #s(literal 1 binary64))
(*.f64 b b)
(pow.f64 (exp.f64 (log.f64 b)) #s(literal 2 binary64))
(pow.f64 (neg.f64 b) #s(literal 2 binary64))
(pow.f64 (fabs.f64 b) #s(literal 2 binary64))
(pow.f64 (*.f64 b b) #s(literal 1 binary64))
(pow.f64 b #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 b b) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 b b)) #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 b) b))
(fabs.f64 (*.f64 b b))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) #s(literal 0 binary64)))
(exp.f64 (+.f64 #s(literal 0 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(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))))
b
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
(*.f64 (fma.f64 #s(literal 2 binary64) a b) b)
(*.f64 b (fma.f64 #s(literal 2 binary64) a b))
(/.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a a))) b) (-.f64 b (*.f64 #s(literal 2 binary64) a)))
(/.f64 (*.f64 (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 (neg.f64 b) b)) b) (-.f64 (*.f64 #s(literal 2 binary64) a) b))
(/.f64 (*.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64))) b) (fma.f64 (*.f64 #s(literal 2 binary64) a) (-.f64 (*.f64 #s(literal 2 binary64) a) b) (*.f64 b b)))
(/.f64 (*.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64))) b) (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a)))))
(/.f64 (*.f64 b (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a a)))) (-.f64 b (*.f64 #s(literal 2 binary64) a)))
(/.f64 (*.f64 b (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 (neg.f64 b) b))) (-.f64 (*.f64 #s(literal 2 binary64) a) b))
(/.f64 (*.f64 b (fma.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 2 binary64) a) (-.f64 (*.f64 #s(literal 2 binary64) a) b) (*.f64 b b)))
(/.f64 (*.f64 b (fma.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64)))) (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a)))))
(/.f64 (-.f64 (pow.f64 b #s(literal 4 binary64)) (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64))) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 b #s(literal 4 binary64)))) (neg.f64 (*.f64 b (-.f64 (*.f64 #s(literal 2 binary64) a) b))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 b #s(literal 6 binary64)))) (neg.f64 (fma.f64 (*.f64 b b) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a))) (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 b #s(literal 4 binary64))) (*.f64 b (-.f64 (*.f64 #s(literal 2 binary64) a) b)))
(/.f64 (fma.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 b #s(literal 6 binary64))) (+.f64 (pow.f64 b #s(literal 4 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) a) (pow.f64 b #s(literal 3 binary64))))))
(/.f64 (fma.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 b #s(literal 6 binary64))) (fma.f64 (*.f64 b b) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a))) (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (neg.f64 b) #s(literal 1 binary64)) (*.f64 (neg.f64 b) #s(literal 1 binary64)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (*.f64 (fabs.f64 b) #s(literal 1 binary64)) (*.f64 (fabs.f64 b) #s(literal 1 binary64)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) (neg.f64 b)) (*.f64 #s(literal 1 binary64) (neg.f64 b)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) (neg.f64 b)) (neg.f64 b) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 b)) (*.f64 #s(literal 1 binary64) (fabs.f64 b)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 b)) (fabs.f64 b) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (neg.f64 (fabs.f64 b)) (neg.f64 (fabs.f64 b)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (fabs.f64 (fabs.f64 b)) (fabs.f64 (fabs.f64 b)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (exp.f64 (log.f64 b)) (exp.f64 (log.f64 b)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (neg.f64 b) (*.f64 (neg.f64 b) #s(literal 1 binary64)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (neg.f64 b) (neg.f64 b) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) #s(literal 1 binary64)) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (fabs.f64 b) (fabs.f64 b) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 b b) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 (*.f64 #s(literal 2 binary64) a) b (*.f64 b b))
(fma.f64 (*.f64 #s(literal 2 binary64) b) a (*.f64 b b))
(fma.f64 (*.f64 b a) #s(literal 2 binary64) (*.f64 b b))
(fma.f64 (*.f64 b b) #s(literal 1 binary64) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) (*.f64 b a) (*.f64 b b))
(fma.f64 (+.f64 b a) b (*.f64 b a))
(fma.f64 b (*.f64 #s(literal 2 binary64) a) (*.f64 b b))
(fma.f64 b (+.f64 b a) (*.f64 b a))
(fma.f64 b b (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(fma.f64 b a (*.f64 (+.f64 b a) b))
(fma.f64 a (*.f64 #s(literal 2 binary64) b) (*.f64 b b))
(fma.f64 a b (*.f64 (+.f64 b a) b))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 b (-.f64 (*.f64 #s(literal 2 binary64) a) b))) (/.f64 (pow.f64 b #s(literal 4 binary64)) (*.f64 b (-.f64 (*.f64 #s(literal 2 binary64) a) b))))
(-.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (neg.f64 b) b))
(-.f64 (*.f64 b b) (*.f64 (neg.f64 b) (*.f64 #s(literal 2 binary64) a)))
(-.f64 (*.f64 b b) (*.f64 (neg.f64 (*.f64 b a)) #s(literal 2 binary64)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal -2 binary64) a) b))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (*.f64 b b) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a))) (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 b #s(literal 6 binary64)) (fma.f64 (*.f64 b b) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a))) (pow.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (+.f64 b a) b) (*.f64 b a))
(+.f64 (*.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 b b))
(+.f64 (*.f64 b a) (*.f64 (+.f64 b a) b))
(+.f64 (*.f64 b b) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (*.f64 #s(literal -8 binary64) (pow.f64 a #s(literal 3 binary64)))) (fma.f64 b b (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 (*.f64 #s(literal -2 binary64) a) b))))
(/.f64 (neg.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a a)))) (neg.f64 (-.f64 b (*.f64 #s(literal 2 binary64) a))))
(/.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 (neg.f64 b) b))) (neg.f64 (-.f64 (*.f64 #s(literal 2 binary64) a) b)))
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) a) (-.f64 (*.f64 #s(literal 2 binary64) a) b) (*.f64 b b))))
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a))))))
(/.f64 (-.f64 (*.f64 b b) (*.f64 #s(literal 4 binary64) (*.f64 a a))) (-.f64 b (*.f64 #s(literal 2 binary64) a)))
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 (neg.f64 b) b)) (-.f64 (*.f64 #s(literal 2 binary64) a) b))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 2 binary64) a) (-.f64 (*.f64 #s(literal 2 binary64) a) b) (*.f64 b b)))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64))) (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a)))))
(fma.f64 #s(literal 2 binary64) a b)
(fma.f64 a #s(literal 2 binary64) b)
(-.f64 (/.f64 (*.f64 b b) (-.f64 b (*.f64 #s(literal 2 binary64) a))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 a a)) (-.f64 b (*.f64 #s(literal 2 binary64) a))))
(-.f64 (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 a a)) (-.f64 (*.f64 #s(literal 2 binary64) a) b)) (/.f64 (*.f64 b b) (-.f64 (*.f64 #s(literal 2 binary64) a) b)))
(-.f64 b (*.f64 (neg.f64 a) #s(literal 2 binary64)))
(-.f64 b (*.f64 #s(literal -2 binary64) a))
(+.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 2 binary64) a) (-.f64 (*.f64 #s(literal 2 binary64) a) b) (*.f64 b b))) (/.f64 (*.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 2 binary64) a) (-.f64 (*.f64 #s(literal 2 binary64) a) b) (*.f64 b b))))
(+.f64 (/.f64 (*.f64 #s(literal 8 binary64) (pow.f64 a #s(literal 3 binary64))) (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a))))) (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 #s(literal 4 binary64) (*.f64 a a) (*.f64 b (-.f64 b (*.f64 #s(literal 2 binary64) a))))))
(+.f64 (*.f64 #s(literal 2 binary64) a) b)
(+.f64 (+.f64 b a) a)
(+.f64 b (*.f64 (neg.f64 a) #s(literal -2 binary64)))
(+.f64 b (*.f64 #s(literal 2 binary64) a))
(+.f64 a (+.f64 b a))
#s(literal 2 binary64)
a
(*.f64 #s(approx (+ a b) b) (+.f64 b a))
(*.f64 (+.f64 b a) #s(approx (+ a b) b))
(/.f64 (*.f64 (fma.f64 a a (*.f64 (neg.f64 b) b)) #s(approx (+ a b) b)) (-.f64 a b))
(/.f64 (*.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) #s(approx (+ a b) b)) (fma.f64 b (-.f64 b a) (*.f64 a a)))
(/.f64 (*.f64 #s(approx (+ a b) b) (fma.f64 a a (*.f64 (neg.f64 b) b))) (-.f64 a b))
(/.f64 (*.f64 #s(approx (+ a b) b) (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) (fma.f64 b (-.f64 b a) (*.f64 a a)))
(fma.f64 #s(approx (+ a b) b) b (*.f64 #s(approx (+ a b) b) a))
(fma.f64 #s(approx (+ a b) b) a (*.f64 #s(approx (+ a b) b) b))
(fma.f64 b #s(approx (+ a b) b) (*.f64 a #s(approx (+ a b) b)))
(fma.f64 a #s(approx (+ a b) b) (*.f64 b #s(approx (+ a b) b)))
(+.f64 (*.f64 b #s(approx (+ a b) b)) (*.f64 a #s(approx (+ a b) b)))
(+.f64 (*.f64 a #s(approx (+ a b) b)) (*.f64 b #s(approx (+ a b) b)))
(+.f64 (*.f64 #s(approx (+ a b) b) b) (*.f64 #s(approx (+ a b) b) a))
(+.f64 (*.f64 #s(approx (+ a b) b) a) (*.f64 #s(approx (+ a b) b) b))
(/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 b a))
(/.f64 (neg.f64 (fma.f64 a a (*.f64 (neg.f64 b) b))) (neg.f64 (-.f64 a b)))
(/.f64 (neg.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) (neg.f64 (fma.f64 b (-.f64 b a) (*.f64 a a))))
(/.f64 (fma.f64 a a (*.f64 (neg.f64 b) b)) (-.f64 a b))
(/.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 b b (-.f64 (*.f64 a a) (*.f64 b a))))
(/.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) (fma.f64 b (-.f64 b a) (*.f64 a a)))
(-.f64 (/.f64 (*.f64 a a) (-.f64 a b)) (/.f64 (*.f64 b b) (-.f64 a b)))
(+.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))) (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))))
(+.f64 b a)
(+.f64 a b)
#s(approx (+ a b) b)
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
#s(approx (* (+ a b) (+ a b)) (fma.f64 (fma.f64 #s(literal 2 binary64) a b) b (*.f64 a a)))
#s(approx (* (+ (* 2 a) b) b) (*.f64 b b))
#s(approx (* (+ (* 2 a) b) b) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
#s(approx (+ (* 2 a) b) b)
#s(approx (+ (* 2 a) b) (fma.f64 #s(literal 2 binary64) a b))
#s(approx a a)
#s(approx (+ a b) b)
#s(approx (+ a b) (+.f64 b a))
#s(approx (* (+ a b) (+ a b)) (*.f64 a a))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (fma.f64 (/.f64 b a) #s(literal 2 binary64) #s(literal 1 binary64)) a) a))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (-.f64 (fma.f64 (/.f64 b a) #s(literal 2 binary64) (pow.f64 (/.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64)) a) a))
#s(approx (* (+ (* 2 a) b) b) (*.f64 (*.f64 b a) #s(literal 2 binary64)))
#s(approx (* (+ (* 2 a) b) b) (*.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 b (/.f64 b a))) a))
#s(approx (+ (* 2 a) b) (*.f64 #s(literal 2 binary64) a))
#s(approx (+ (* 2 a) b) (*.f64 (+.f64 (/.f64 b a) #s(literal 2 binary64)) a))
#s(approx (+ a b) a)
#s(approx (+ a b) (fma.f64 (/.f64 b a) a a))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (-.f64 (fma.f64 (/.f64 b a) #s(literal 2 binary64) (pow.f64 (/.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64)) a) a))
#s(approx (* (+ (* 2 a) b) b) (*.f64 (fma.f64 b (/.f64 b a) (neg.f64 (*.f64 #s(literal -2 binary64) b))) a))
#s(approx (+ (* 2 a) b) (*.f64 (neg.f64 a) (-.f64 (/.f64 (neg.f64 b) a) #s(literal 2 binary64))))
#s(approx (+ a b) (*.f64 (neg.f64 a) (fma.f64 #s(literal -1 binary64) (/.f64 b a) #s(literal -1 binary64))))
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) b a) a))
#s(approx (* (+ a b) (+ a b)) (fma.f64 (fma.f64 #s(literal 2 binary64) a b) b (*.f64 a a)))
#s(approx (* b b) (*.f64 b b))
#s(approx b b)
#s(approx (* (+ (* 2 a) b) b) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (fma.f64 (/.f64 a b) #s(literal 2 binary64) #s(literal 1 binary64)) b) b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (-.f64 (fma.f64 (/.f64 a b) #s(literal 2 binary64) (pow.f64 (/.f64 a b) #s(literal 2 binary64))) #s(literal -1 binary64)) b) b))
#s(approx (* (+ (* 2 a) b) b) (*.f64 (*.f64 (fma.f64 (/.f64 a b) #s(literal 2 binary64) #s(literal 1 binary64)) b) b))
#s(approx (+ (* 2 a) b) (*.f64 (fma.f64 (/.f64 a b) #s(literal 2 binary64) #s(literal 1 binary64)) b))
#s(approx (+ a b) (fma.f64 (/.f64 a b) b b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (*.f64 (-.f64 (fma.f64 (/.f64 a b) #s(literal 2 binary64) (pow.f64 (/.f64 a b) #s(literal 2 binary64))) #s(literal -1 binary64)) b) b))
#s(approx (+ (* 2 a) b) (*.f64 (neg.f64 b) (fma.f64 (/.f64 a b) #s(literal -2 binary64) #s(literal -1 binary64))))
#s(approx (+ a b) (*.f64 (neg.f64 b) (fma.f64 (/.f64 a b) #s(literal -1 binary64) #s(literal -1 binary64))))

eval21.0ms (1.2%)

Memory
1.9MiB live, 47.9MiB allocated; 6ms collecting garbage
Compiler

Compiled 3 301 to 508 computations (84.6% saved)

prune6.0ms (0.4%)

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

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1740174
Fresh000
Picked033
Done011
Total1744178
Accuracy
100.0%
Counts
178 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 a b) (+.f64 a b))
99.4%
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
99.7%
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
99.4%
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
Compiler

Compiled 82 to 38 computations (53.7% saved)

regimes76.0ms (4.4%)

Memory
-53.4MiB live, 15.5MiB allocated; 87ms collecting garbage
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
(*.f64 (+.f64 a b) (+.f64 a b))
Outputs
(*.f64 (+.f64 a b) (+.f64 a b))
Calls

4 calls:

70.0ms
(+.f64 a b)
2.0ms
b
2.0ms
(*.f64 (+.f64 a b) (+.f64 a b))
2.0ms
a
Results
AccuracySegmentsBranch
100.0%1(+.f64 a b)
100.0%1(*.f64 (+.f64 a b) (+.f64 a b))
100.0%1a
100.0%1b
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes7.0ms (0.4%)

Memory
10.0MiB live, 10.0MiB allocated; 0ms collecting garbage
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
Outputs
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
Calls

4 calls:

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

Compiled 12 to 11 computations (8.3% saved)

regimes6.0ms (0.3%)

Memory
12.0MiB live, 12.0MiB allocated; 0ms collecting garbage
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
Outputs
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
Calls

4 calls:

1.0ms
(*.f64 (+.f64 a b) (+.f64 a b))
1.0ms
b
1.0ms
(+.f64 a b)
1.0ms
a
Results
AccuracySegmentsBranch
99.4%1(+.f64 a b)
99.4%1(*.f64 (+.f64 a b) (+.f64 a b))
99.4%1a
99.4%1b
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes4.0ms (0.2%)

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

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
Outputs
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
Calls

4 calls:

1.0ms
a
1.0ms
(*.f64 (+.f64 a b) (+.f64 a b))
1.0ms
b
1.0ms
(+.f64 a b)
Results
AccuracySegmentsBranch
99.4%1(+.f64 a b)
99.4%1(*.f64 (+.f64 a b) (+.f64 a b))
99.4%1a
99.4%1b
Compiler

Compiled 12 to 11 computations (8.3% saved)

simplify60.0ms (3.5%)

Memory
-27.1MiB live, 71.9MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01441
12741
26641
318941
455441
5121041
6492241
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (+.f64 a b) (+.f64 a b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))
Outputs
(*.f64 (+.f64 a b) (+.f64 a b))
#s(approx (* (+ a b) (+ a b)) (*.f64 (fma.f64 #s(literal 2 binary64) a b) b))
(*.f64 (+.f64 a b) #s(approx (+ a b) b))
#s(approx (* (+ a b) (+ a b)) (*.f64 b b))

derivations54.0ms (3.1%)

Memory
17.8MiB live, 65.2MiB allocated; 2ms collecting garbage
Stop Event
done
Compiler

Compiled 41 to 14 computations (65.9% saved)

preprocess47.0ms (2.7%)

Memory
-2.6MiB live, 47.3MiB allocated; 6ms collecting garbage
Remove

(sort a b)

Compiler

Compiled 154 to 68 computations (55.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...