ab-angle->ABCF D

Time bar (total: 2.6s)

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.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)

sample631.0ms (24.5%)

Memory
-2.8MiB live, 599.0MiB allocated; 135ms collecting garbage
Samples
396.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 240.0ms
ival-mult: 182.0ms (75.9% of total)
ival-neg: 46.0ms (19.2% of total)
ival-true: 6.0ms (2.5% of total)
ival-assert: 3.0ms (1.3% of total)
adjust: 2.0ms (0.8% of total)
Bogosity

explain64.0ms (2.5%)

Memory
30.8MiB live, 79.7MiB allocated; 5ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
281(-2.0823529615045446e-209 1.604552878448495e+95)3(-1.7480787486864078e-157 -3.4719911905907283e+242)(*.f64 (*.f64 a a) b)
190-1(-2.0823529615045446e-209 1.604552878448495e+95)(*.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*o140
*.f64(*.f64 (*.f64 a a) b)n*u120
*.f64(*.f64 (*.f64 (*.f64 a a) b) b)n*o100
*.f64(*.f64 (*.f64 (*.f64 a a) b) b)n*u80
Confusion
Predicted +Predicted -
+443
-0209
Precision
1.0
Recall
0.9361702127659575
Confusion?
Predicted +Predicted MaybePredicted -
+4403
-00209
Precision?
1.0
Recall?
0.9361702127659575
Freqs
test
numberfreq
0212
144
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
28.0ms512×0valid
Compiler

Compiled 62 to 22 computations (64.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 10.0ms (79.3% of total)
ival-neg: 2.0ms (15.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess26.0ms (1%)

Memory
-20.6MiB live, 25.8MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01838
16038
224138
354238
478538
579038
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 b)

(abs a)

(sort a b)

Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 8 to 6 computations (25% saved)

simplify9.0ms (0.4%)

Memory
8.6MiB live, 8.6MiB allocated; 0ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 a a)
cost-diff0
(*.f64 (*.f64 a a) b)
cost-diff0
(*.f64 (*.f64 (*.f64 a a) b) b)
cost-diff0
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0625
01025
12425
28125
330325
471925
584425
084425
Stop Event
iter limit
saturated
iter limit
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
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(*.f64 (*.f64 b a) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 (*.f64 a a) b)
(*.f64 b (*.f64 a a))
(*.f64 a a)
a
b

localize25.0ms (1%)

Memory
-8.1MiB live, 41.5MiB allocated; 5ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 a a)
accuracy0.0
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
accuracy5.649545448293329
(*.f64 (*.f64 (*.f64 a a) b) b)
accuracy7.072567933534337
(*.f64 (*.f64 a a) b)
Samples
18.0ms256×0valid
Compiler

Compiled 27 to 8 computations (70.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 5.0ms (82.6% of total)
ival-neg: 1.0ms (16.5% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.3%)

Memory
10.5MiB live, 10.5MiB allocated; 0ms collecting garbage
Counts
4 → 4
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)
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)))
Calls

6 calls:

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

simplify118.0ms (4.6%)

Memory
14.3MiB live, 106.0MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01750
14250
213650
350250
4106350
5139850
6556050
0806350
Stop Event
iter limit
node limit
Counts
4 → 4
Calls
Call 1
Inputs
#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)))
Outputs
#s(approx (neg (* (* (* a a) b) b)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (neg (* (* (* a a) b) b)) (*.f64 (*.f64 (*.f64 b a) b) (neg.f64 a)))
#s(approx (* (* (* a a) b) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* a a) b) b) (*.f64 (*.f64 (*.f64 b a) b) a))
#s(approx (* (* a a) b) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* (* a a) b) (*.f64 (*.f64 b a) a))
#s(approx (* a a) #s(hole binary64 (pow a 2)))
#s(approx (* a a) (*.f64 a a))

rewrite43.0ms (1.7%)

Memory
1.4MiB live, 46.6MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0623
01022
12622
29418
041418
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 112
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)
Outputs
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (neg.f64 b) (*.f64 (neg.f64 b) a)) (neg.f64 a))
(*.f64 (*.f64 (fabs.f64 b) (neg.f64 a)) (*.f64 (fabs.f64 b) (neg.f64 a)))
(*.f64 (*.f64 (fabs.f64 b) a) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) (neg.f64 a)) (*.f64 (neg.f64 b) (neg.f64 a)))
(*.f64 (*.f64 (neg.f64 b) (neg.f64 a)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 a) (fabs.f64 b)) (*.f64 (neg.f64 a) (fabs.f64 b)))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.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 (*.f64 (neg.f64 b) a)) (*.f64 (neg.f64 b) a))
(*.f64 (fabs.f64 (*.f64 (neg.f64 b) a)) (fabs.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (fabs.f64 (*.f64 b a)) (fabs.f64 (*.f64 b a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (*.f64 b a) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (neg.f64 b) (*.f64 b (*.f64 a a)))
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) (*.f64 (neg.f64 b) b)))
(*.f64 (neg.f64 a) (neg.f64 (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 (neg.f64 a) (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b a) b))
(*.f64 (*.f64 b (*.f64 a a)) (neg.f64 b))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 (*.f64 a a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 a (*.f64 (*.f64 b a) b))
(pow.f64 (*.f64 (neg.f64 b) a) #s(literal 2 binary64))
(pow.f64 (*.f64 b a) #s(literal 2 binary64))
(neg.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (neg.f64 b) (*.f64 (neg.f64 b) a)) (neg.f64 a))
(*.f64 (*.f64 (fabs.f64 b) (neg.f64 a)) (*.f64 (fabs.f64 b) (neg.f64 a)))
(*.f64 (*.f64 (fabs.f64 b) a) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) (neg.f64 a)) (*.f64 (neg.f64 b) (neg.f64 a)))
(*.f64 (*.f64 (neg.f64 b) (neg.f64 a)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 a) (fabs.f64 b)) (*.f64 (neg.f64 a) (fabs.f64 b)))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.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 (*.f64 (neg.f64 b) a)) (*.f64 (neg.f64 b) a))
(*.f64 (fabs.f64 (*.f64 (neg.f64 b) a)) (fabs.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (fabs.f64 (*.f64 b a)) (fabs.f64 (*.f64 b a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (*.f64 b a) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (neg.f64 b) (*.f64 b (*.f64 a a)))
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) (*.f64 (neg.f64 b) b)))
(*.f64 (neg.f64 a) (neg.f64 (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 (neg.f64 a) (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b a) b))
(*.f64 (*.f64 b (*.f64 a a)) (neg.f64 b))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 (*.f64 a a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 a (*.f64 (*.f64 b a) b))
(pow.f64 (*.f64 (neg.f64 b) a) #s(literal 2 binary64))
(pow.f64 (*.f64 b a) #s(literal 2 binary64))
(neg.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(*.f64 (*.f64 (neg.f64 b) (neg.f64 a)) (neg.f64 a))
(*.f64 (neg.f64 (*.f64 (neg.f64 b) a)) (neg.f64 a))
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 a))
(*.f64 (*.f64 (neg.f64 b) a) a)
(*.f64 (*.f64 b a) (neg.f64 a))
(*.f64 (*.f64 b a) a)
(*.f64 (neg.f64 b) (*.f64 a a))
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (neg.f64 a) (neg.f64 (*.f64 (neg.f64 b) a)))
(*.f64 (neg.f64 a) (*.f64 (neg.f64 b) a))
(*.f64 (neg.f64 a) (*.f64 b a))
(*.f64 b (*.f64 a a))
(*.f64 (*.f64 a a) (neg.f64 b))
(*.f64 (*.f64 a a) b)
(*.f64 a (*.f64 (neg.f64 b) a))
(*.f64 a (*.f64 b a))
(neg.f64 (*.f64 b (*.f64 a a)))
(*.f64 (exp.f64 (log.f64 a)) (exp.f64 (log.f64 a)))
(*.f64 (neg.f64 a) (neg.f64 a))
(*.f64 (neg.f64 a) a)
(*.f64 a (neg.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 (*.f64 a a) #s(literal 1 binary64))
(pow.f64 a #s(literal 2 binary64))
(neg.f64 (*.f64 a a))
(sqrt.f64 (*.f64 (*.f64 a a) (*.f64 a a)))
(fabs.f64 (*.f64 a a))
(exp.f64 (*.f64 (log.f64 (neg.f64 a)) #s(literal 2 binary64)))
(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))))

eval7.0ms (0.3%)

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

Compiled 717 to 197 computations (72.5% saved)

prune14.0ms (0.5%)

Memory
-30.0MiB live, 14.6MiB allocated; 7ms collecting garbage
Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New69776
Fresh000
Picked011
Done000
Total69877
Accuracy
99.9%
Counts
77 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.1%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
22.6%
(*.f64 (*.f64 (*.f64 b a) b) a)
99.6%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
22.9%
(*.f64 (*.f64 b (*.f64 a a)) b)
22.6%
(*.f64 (*.f64 b a) (*.f64 b a))
81.6%
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) (*.f64 (neg.f64 b) b)))
91.1%
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
79.7%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 118 to 84 computations (28.8% saved)

simplify11.0ms (0.4%)

Memory
13.6MiB live, 13.6MiB allocated; 0ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 b a)
cost-diff0
(*.f64 (*.f64 b a) a)
cost-diff0
(*.f64 (*.f64 (*.f64 b a) a) b)
cost-diff0
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
cost-diff0
(*.f64 b a)
cost-diff0
(*.f64 (*.f64 b a) b)
cost-diff0
(*.f64 (*.f64 (*.f64 b a) b) a)
cost-diff0
(*.f64 a a)
cost-diff0
(*.f64 b (*.f64 a a))
cost-diff0
(*.f64 (*.f64 b (*.f64 a a)) b)
cost-diff0
(*.f64 b a)
cost-diff0
(*.f64 (*.f64 b a) (*.f64 b a))
cost-diff0
(*.f64 b a)
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff0
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01590
02890
15890
214490
339390
476690
583990
083990
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 b a)
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 b a)
b
a
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 b (*.f64 a a))
b
(*.f64 a a)
a
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 b a) b)
(*.f64 b a)
b
a
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
(*.f64 (*.f64 (*.f64 b a) a) b)
(*.f64 (*.f64 b a) a)
(*.f64 b a)
b
a
Outputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(neg.f64 b)
b
a
(*.f64 b a)
(*.f64 a b)
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 b a)
(*.f64 a b)
b
a
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 b (*.f64 a a))
(*.f64 (*.f64 a a) b)
b
(*.f64 a a)
a
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 b a) b)
(*.f64 (*.f64 b b) a)
(*.f64 b a)
(*.f64 a b)
b
a
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 (*.f64 b a) a) b)
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 b a) a)
(*.f64 (*.f64 a a) b)
(*.f64 b a)
(*.f64 a b)
b
a

localize437.0ms (16.9%)

Memory
-33.6MiB live, 125.3MiB allocated; 704ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 b a)
accuracy0.0
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
accuracy0.12890625
(*.f64 (*.f64 b a) a)
accuracy5.649545448293329
(*.f64 (*.f64 (*.f64 b a) a) b)
accuracy0.0
(*.f64 b a)
accuracy0.1015625
(*.f64 (*.f64 b a) b)
accuracy5.683468040294144
(*.f64 (*.f64 (*.f64 b a) b) a)
accuracy0.0
(*.f64 a a)
accuracy5.649545448293329
(*.f64 (*.f64 b (*.f64 a a)) b)
accuracy7.072567933534337
(*.f64 b (*.f64 a a))
accuracy0.0
(*.f64 b a)
accuracy0.23503876953688405
(*.f64 (*.f64 b a) (*.f64 b a))
accuracy0.0
(*.f64 (neg.f64 b) a)
accuracy0.0
(*.f64 b a)
accuracy0.0
(neg.f64 b)
accuracy0.23503876953688405
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
Samples
421.0ms256×0valid
Compiler

Compiled 92 to 17 computations (81.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 15.0ms (84% of total)
ival-neg: 2.0ms (11.2% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.4%)

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

6 calls:

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

simplify122.0ms (4.7%)

Memory
-15.3MiB live, 85.0MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039155
191155
2231155
3750155
41428155
53540155
67075155
08333155
Stop Event
iter limit
node limit
Counts
13 → 13
Calls
Call 1
Inputs
#s(approx (* (* (neg b) a) (* b a)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (neg b) a) #s(hole binary64 (* -1 (* a b))))
#s(approx (* b a) #s(hole binary64 (* a b)))
#s(approx (* (* b a) (* b a)) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* b (* a a)) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* b (* a a)) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* a a) #s(hole binary64 (pow a 2)))
#s(approx (* (* (* b a) b) a) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* b a) b) #s(hole binary64 (* a (pow b 2))))
#s(approx (neg (* (* (* b a) a) b)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* b a) a) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* b a) a) #s(hole binary64 (* (pow a 2) b)))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
Outputs
#s(approx (* (* (neg b) a) (* b a)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (* b a)) (*.f64 (*.f64 (*.f64 a b) b) (neg.f64 a)))
#s(approx (* (neg b) a) #s(hole binary64 (* -1 (* a b))))
#s(approx (* (neg b) a) (*.f64 (neg.f64 b) a))
#s(approx (* b a) #s(hole binary64 (* a b)))
#s(approx (* b a) (*.f64 a b))
#s(approx (* (* b a) (* b a)) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* b a) b) a) (*.f64 (*.f64 (*.f64 a b) b) a))
#s(approx (* (* b (* a a)) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* b a) b) a) (*.f64 (*.f64 (*.f64 a b) b) a))
#s(approx (* b (* a a)) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* (* b a) a) (*.f64 (*.f64 a a) b))
#s(approx (* a a) #s(hole binary64 (pow a 2)))
#s(approx (* a a) (*.f64 a a))
#s(approx (* (* (* b a) b) a) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* b a) b) a) (*.f64 (*.f64 (*.f64 a b) b) a))
#s(approx (* (* b a) b) #s(hole binary64 (* a (pow b 2))))
#s(approx (* (* b a) b) (*.f64 (*.f64 a b) b))
#s(approx (neg (* (* (* b a) a) b)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (* b a)) (*.f64 (*.f64 (*.f64 a b) b) (neg.f64 a)))
#s(approx (* (* (* b a) a) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* b a) b) a) (*.f64 (*.f64 (*.f64 a b) b) a))
#s(approx (* (* b a) a) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* (* b a) a) (*.f64 (*.f64 a a) b))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
#s(approx (neg b) (neg.f64 b))

rewrite39.0ms (1.5%)

Memory
-13.7MiB live, 32.4MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01571
02875
16163
216757
062057
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
13 → 351
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
(*.f64 b a)
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 b (*.f64 a a))
(*.f64 a a)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 b a) b)
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
(*.f64 (*.f64 (*.f64 b a) a) b)
(*.f64 (*.f64 b a) a)
Outputs
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (neg.f64 (neg.f64 b)) (*.f64 (*.f64 a a) b))
(*.f64 (fabs.f64 (*.f64 (*.f64 a (neg.f64 b)) b)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 b b) a)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 a a) b)) (fabs.f64 b))
(*.f64 (exp.f64 (log.f64 (*.f64 a b))) (exp.f64 (log.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (fabs.f64 b) (fabs.f64 (*.f64 (*.f64 a a) b)))
(*.f64 (fabs.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a a) b) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 a a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a b))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 a (fabs.f64 (*.f64 (*.f64 b b) a)))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 a (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 b (*.f64 (*.f64 a a) b))
(pow.f64 (exp.f64 (log.f64 (*.f64 a b))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (*.f64 a (neg.f64 b)) #s(literal 2 binary64))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a (neg.f64 b))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))))
(*.f64 (neg.f64 (fabs.f64 b)) a)
(*.f64 (fabs.f64 b) (neg.f64 a))
(*.f64 (neg.f64 a) (fabs.f64 b))
(*.f64 (neg.f64 a) b)
(*.f64 a (neg.f64 (fabs.f64 b)))
(*.f64 a (neg.f64 b))
(*.f64 (neg.f64 b) a)
(*.f64 b (neg.f64 a))
(neg.f64 (*.f64 a b))
(neg.f64 b)
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1/2 binary64)) (pow.f64 (*.f64 a b) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (neg.f64 b)) a)
(*.f64 (fabs.f64 (fabs.f64 b)) a)
(*.f64 (sqrt.f64 (*.f64 (*.f64 a (neg.f64 b)) b)) (sqrt.f64 (neg.f64 a)))
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a (neg.f64 b))) (sqrt.f64 (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 b b) a)) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 (*.f64 b b) a)))
(*.f64 (sqrt.f64 (neg.f64 b)) (sqrt.f64 (*.f64 (*.f64 a a) b)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 a a) b)) (sqrt.f64 (neg.f64 b)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 a a) b)) (sqrt.f64 b))
(*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 (*.f64 a a) b)))
(*.f64 (pow.f64 b #s(literal 1 binary64)) a)
(*.f64 (fabs.f64 b) a)
(*.f64 (neg.f64 a) (neg.f64 b))
(*.f64 a (neg.f64 (neg.f64 b)))
(*.f64 a (fabs.f64 (fabs.f64 b)))
(*.f64 a (pow.f64 b #s(literal 1 binary64)))
(*.f64 a (fabs.f64 b))
(*.f64 a b)
(*.f64 (neg.f64 b) (neg.f64 a))
(*.f64 b a)
(pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 a b) #s(literal 1 binary64))
(pow.f64 (*.f64 a (neg.f64 b)) #s(literal 1 binary64))
(neg.f64 (*.f64 a (neg.f64 b)))
(sqrt.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(fabs.f64 (*.f64 a b))
(fabs.f64 (*.f64 a (neg.f64 b)))
(exp.f64 (/.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 1 binary64)))
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (neg.f64 (neg.f64 b)) (*.f64 (*.f64 a a) b))
(*.f64 (fabs.f64 (*.f64 (*.f64 a (neg.f64 b)) b)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 b b) a)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 a a) b)) (fabs.f64 b))
(*.f64 (exp.f64 (log.f64 (*.f64 a b))) (exp.f64 (log.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (fabs.f64 b) (fabs.f64 (*.f64 (*.f64 a a) b)))
(*.f64 (fabs.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a a) b) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 a a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a b))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 a (fabs.f64 (*.f64 (*.f64 b b) a)))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 a (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 b (*.f64 (*.f64 a a) b))
(pow.f64 (exp.f64 (log.f64 (*.f64 a b))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (*.f64 a (neg.f64 b)) #s(literal 2 binary64))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a (neg.f64 b))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (neg.f64 (neg.f64 b)) (*.f64 (*.f64 a a) b))
(*.f64 (fabs.f64 (*.f64 (*.f64 a (neg.f64 b)) b)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 b b) a)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 a a) b)) (fabs.f64 b))
(*.f64 (exp.f64 (log.f64 (*.f64 a b))) (exp.f64 (log.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (fabs.f64 b) (fabs.f64 (*.f64 (*.f64 a a) b)))
(*.f64 (fabs.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a a) b) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 a a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a b))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 a (fabs.f64 (*.f64 (*.f64 b b) a)))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 a (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 b (*.f64 (*.f64 a a) b))
(pow.f64 (exp.f64 (log.f64 (*.f64 a b))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (*.f64 a (neg.f64 b)) #s(literal 2 binary64))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a (neg.f64 b))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))))
(*.f64 (neg.f64 a) (*.f64 a b))
(*.f64 (neg.f64 a) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a a) (neg.f64 b))
(*.f64 (*.f64 a a) b)
(*.f64 (*.f64 a b) (neg.f64 a))
(*.f64 (*.f64 a b) a)
(*.f64 (*.f64 a (neg.f64 b)) (neg.f64 a))
(*.f64 (*.f64 a (neg.f64 b)) a)
(*.f64 a (*.f64 a b))
(*.f64 a (*.f64 a (neg.f64 b)))
(*.f64 (neg.f64 b) (*.f64 a a))
(*.f64 b (*.f64 a a))
(neg.f64 (*.f64 (*.f64 a a) b))
(*.f64 (exp.f64 (log.f64 a)) (exp.f64 (log.f64 a)))
(*.f64 (neg.f64 a) (neg.f64 a))
(*.f64 (neg.f64 a) a)
(*.f64 a (neg.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 (*.f64 a a) #s(literal 1 binary64))
(pow.f64 a #s(literal 2 binary64))
(neg.f64 (*.f64 a a))
(sqrt.f64 (*.f64 (*.f64 a a) (*.f64 a a)))
(fabs.f64 (*.f64 a a))
(exp.f64 (*.f64 (log.f64 (neg.f64 a)) #s(literal 2 binary64)))
(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))))
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (neg.f64 (neg.f64 b)) (*.f64 (*.f64 a a) b))
(*.f64 (fabs.f64 (*.f64 (*.f64 a (neg.f64 b)) b)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 b b) a)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 a a) b)) (fabs.f64 b))
(*.f64 (exp.f64 (log.f64 (*.f64 a b))) (exp.f64 (log.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (fabs.f64 b) (fabs.f64 (*.f64 (*.f64 a a) b)))
(*.f64 (fabs.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a a) b) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 a a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a b))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 a (fabs.f64 (*.f64 (*.f64 b b) a)))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 a (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 b (*.f64 (*.f64 a a) b))
(pow.f64 (exp.f64 (log.f64 (*.f64 a b))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (*.f64 a (neg.f64 b)) #s(literal 2 binary64))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a (neg.f64 b))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))))
(*.f64 (*.f64 (neg.f64 b) b) (neg.f64 a))
(*.f64 (fabs.f64 b) (*.f64 a b))
(*.f64 (*.f64 b b) a)
(*.f64 (neg.f64 a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a b) (fabs.f64 b))
(*.f64 (*.f64 a b) b)
(*.f64 (*.f64 a (neg.f64 b)) (neg.f64 b))
(*.f64 a (*.f64 b b))
(*.f64 (neg.f64 b) (*.f64 a (neg.f64 b)))
(*.f64 b (*.f64 a b))
(neg.f64 (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (neg.f64 (neg.f64 b)) (*.f64 (*.f64 a a) b))
(*.f64 (fabs.f64 (*.f64 (*.f64 a (neg.f64 b)) b)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 b b) a)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 a a) b)) (fabs.f64 b))
(*.f64 (exp.f64 (log.f64 (*.f64 a b))) (exp.f64 (log.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (fabs.f64 b) (fabs.f64 (*.f64 (*.f64 a a) b)))
(*.f64 (fabs.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a a) b) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 a a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a b))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 a (fabs.f64 (*.f64 (*.f64 b b) a)))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 a (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 b (*.f64 (*.f64 a a) b))
(pow.f64 (exp.f64 (log.f64 (*.f64 a b))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (*.f64 a (neg.f64 b)) #s(literal 2 binary64))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a (neg.f64 b))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (neg.f64 (neg.f64 b)) (*.f64 (*.f64 a a) b))
(*.f64 (fabs.f64 (*.f64 (*.f64 a (neg.f64 b)) b)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 b b) a)) a)
(*.f64 (fabs.f64 (*.f64 (*.f64 a a) b)) (fabs.f64 b))
(*.f64 (exp.f64 (log.f64 (*.f64 a b))) (exp.f64 (log.f64 (*.f64 a b))))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (fabs.f64 b) (fabs.f64 (*.f64 (*.f64 a a) b)))
(*.f64 (fabs.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a a) b) (fabs.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a a) b) b)
(*.f64 (*.f64 a a) (*.f64 (neg.f64 b) b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a b))
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 a (fabs.f64 (*.f64 (*.f64 b b) a)))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 a (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a a) b))
(*.f64 b (*.f64 (*.f64 a a) b))
(pow.f64 (exp.f64 (log.f64 (*.f64 a b))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (*.f64 a (neg.f64 b)) #s(literal 2 binary64))
(neg.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a (neg.f64 b))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64))))
(*.f64 (neg.f64 a) (*.f64 a b))
(*.f64 (neg.f64 a) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a a) (neg.f64 b))
(*.f64 (*.f64 a a) b)
(*.f64 (*.f64 a b) (neg.f64 a))
(*.f64 (*.f64 a b) a)
(*.f64 (*.f64 a (neg.f64 b)) (neg.f64 a))
(*.f64 (*.f64 a (neg.f64 b)) a)
(*.f64 a (*.f64 a b))
(*.f64 a (*.f64 a (neg.f64 b)))
(*.f64 (neg.f64 b) (*.f64 a a))
(*.f64 b (*.f64 a a))
(neg.f64 (*.f64 (*.f64 a a) b))

eval25.0ms (1%)

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

Compiled 2 625 to 504 computations (80.8% saved)

prune25.0ms (1%)

Memory
-11.7MiB live, 33.9MiB allocated; 4ms collecting garbage
Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New2545259
Fresh112
Picked145
Done011
Total25611267
Accuracy
99.9%
Counts
267 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.1%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
81.6%
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
22.4%
(*.f64 (*.f64 (*.f64 b b) a) a)
22.7%
(*.f64 (*.f64 (*.f64 a b) a) b)
81.6%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b b) a)) (sqrt.f64 a)))
99.5%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
99.6%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
22.9%
(*.f64 (*.f64 b (*.f64 a a)) b)
22.6%
(*.f64 (*.f64 b a) (*.f64 b a))
91.1%
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
79.7%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 154 to 107 computations (30.5% saved)

simplify163.0ms (6.3%)

Memory
-2.7MiB live, 96.0MiB allocated; 22ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff0
(*.f64 (*.f64 (neg.f64 b) a) b)
cost-diff1
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
cost-diff0
(neg.f64 a)
cost-diff0
(*.f64 b b)
cost-diff0
(*.f64 (*.f64 b b) a)
cost-diff1
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
cost-diff0
(*.f64 b b)
cost-diff0
(*.f64 (*.f64 b b) a)
cost-diff1
(*.f64 (*.f64 (*.f64 b b) a) a)
cost-diff0
(*.f64 a b)
cost-diff0
(*.f64 (*.f64 a b) a)
cost-diff1
(*.f64 (*.f64 (*.f64 a b) a) b)
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff1
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
cost-diff6
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
017114
032102
168102
2188102
351197
496897
5131797
6134497
7135497
8138697
9156997
10316597
11618997
0829397
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(sqrt.f64 (*.f64 a b))
(*.f64 a b)
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 a b) a)
(*.f64 a b)
a
b
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) a)
(*.f64 b b)
b
a
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 b b) a)
(*.f64 b b)
b
a
(neg.f64 a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (neg.f64 b) a) b)
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
Outputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(neg.f64 b)
b
a
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(*.f64 a b)
(sqrt.f64 (*.f64 a b))
(*.f64 a b)
(*.f64 (*.f64 (*.f64 a b) a) b)
(pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64))
(*.f64 (*.f64 a b) a)
(*.f64 a b)
a
b
(*.f64 (*.f64 (*.f64 b b) a) a)
(pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64))
(*.f64 (*.f64 b b) a)
(*.f64 b b)
b
a
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (*.f64 b b) a)
(*.f64 b b)
b
a
(neg.f64 a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (*.f64 (neg.f64 b) a) b)
(*.f64 (*.f64 a (neg.f64 b)) b)
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(neg.f64 b)
b
a

localize50.0ms (1.9%)

Memory
27.5MiB live, 71.7MiB allocated; 5ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (neg.f64 b) a)
accuracy0.0
(neg.f64 b)
accuracy0.1015625
(*.f64 (*.f64 (neg.f64 b) a) b)
accuracy5.683468040294144
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
accuracy0.0
(*.f64 b b)
accuracy0.0
(neg.f64 a)
accuracy5.683468040294144
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
accuracy5.997603292492791
(*.f64 (*.f64 b b) a)
accuracy0.0
(*.f64 b b)
accuracy5.683468040294144
(*.f64 (*.f64 (*.f64 b b) a) a)
accuracy5.997603292492791
(*.f64 (*.f64 b b) a)
accuracy0.0
(*.f64 a b)
accuracy0.12890625
(*.f64 (*.f64 a b) a)
accuracy5.649545448293329
(*.f64 (*.f64 (*.f64 a b) a) b)
accuracy0.0
(neg.f64 b)
accuracy0.23503876953688405
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
accuracy0.37337875976844204
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
accuracy13.485309642371186
(sqrt.f64 (*.f64 a b))
Samples
37.0ms256×0valid
Compiler

Compiled 116 to 19 computations (83.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 21.0ms (84.3% of total)
ival-sqrt: 2.0ms (8% of total)
ival-neg: 2.0ms (8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series32.0ms (1.2%)

Memory
-28.2MiB live, 18.1MiB allocated; 2ms collecting garbage
Counts
15 → 18
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 a b) a)
(*.f64 a b)
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) a)
(*.f64 b b)
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(neg.f64 a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (neg.f64 b) a) b)
(sqrt.f64 (*.f64 a b))
Outputs
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) #s(hole binary64 (* a b)))
#s(approx (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (neg b) a) #s(hole binary64 (* -1 (* a b))))
#s(approx (* (* (* a b) a) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* a b) a) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* a b) #s(hole binary64 (* a b)))
#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 (* (* (* b b) a) (neg a)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (neg a) #s(hole binary64 (* -1 a)))
#s(approx (* (* (* (neg b) a) b) a) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) b) #s(hole binary64 (* -1 (* a (pow b 2)))))
#s(approx (sqrt (* a b)) #s(hole binary64 (sqrt (* a b))))
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* a b)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
#s(approx (* b b) #s(hole binary64 (pow b 2)))
Calls

6 calls:

TimeVariablePointExpression
18.0ms
a
@0
((* (sqrt (* a b)) (sqrt (* a b))) (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) (* (neg b) a) (neg b) (* (* (* a b) a) b) (* (* a b) a) (* a b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (* b b) a) (neg a)) (neg a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b) (sqrt (* a b)))
5.0ms
a
@-inf
((* (sqrt (* a b)) (sqrt (* a b))) (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) (* (neg b) a) (neg b) (* (* (* a b) a) b) (* (* a b) a) (* a b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (* b b) a) (neg a)) (neg a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b) (sqrt (* a b)))
3.0ms
b
@-inf
((* (sqrt (* a b)) (sqrt (* a b))) (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) (* (neg b) a) (neg b) (* (* (* a b) a) b) (* (* a b) a) (* a b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (* b b) a) (neg a)) (neg a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b) (sqrt (* a b)))
2.0ms
b
@inf
((* (sqrt (* a b)) (sqrt (* a b))) (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) (* (neg b) a) (neg b) (* (* (* a b) a) b) (* (* a b) a) (* a b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (* b b) a) (neg a)) (neg a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b) (sqrt (* a b)))
2.0ms
a
@inf
((* (sqrt (* a b)) (sqrt (* a b))) (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) (* (neg b) a) (neg b) (* (* (* a b) a) b) (* (* a b) a) (* a b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (* b b) a) (neg a)) (neg a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b) (sqrt (* a b)))

simplify41.0ms (1.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
056198
1134198
2380198
01779198
Stop Event
iter limit
iter limit
iter limit
unsound
Counts
18 → 18
Calls
Call 1
Inputs
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) #s(hole binary64 (* a b)))
#s(approx (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (neg b) a) #s(hole binary64 (* -1 (* a b))))
#s(approx (* (* (* a b) a) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* a b) a) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* a b) #s(hole binary64 (* a b)))
#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 (* (* (* b b) a) (neg a)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (neg a) #s(hole binary64 (* -1 a)))
#s(approx (* (* (* (neg b) a) b) a) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) b) #s(hole binary64 (* -1 (* a (pow b 2)))))
#s(approx (sqrt (* a b)) #s(hole binary64 (sqrt (* a b))))
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* a b)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
#s(approx (* b b) #s(hole binary64 (pow b 2)))
Outputs
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) #s(hole binary64 (* a b)))
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) (*.f64 b a))
#s(approx (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* b b) a) (neg a)) (*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b))
#s(approx (* (neg b) a) #s(hole binary64 (* -1 (* a b))))
#s(approx (* (neg b) a) (*.f64 (neg.f64 b) a))
#s(approx (* (* (* a b) a) b) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* b b) a) a) (*.f64 (*.f64 (*.f64 b b) a) a))
#s(approx (* (* a b) a) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* (* a b) a) (*.f64 (*.f64 a a) b))
#s(approx (* a b) #s(hole binary64 (* a b)))
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) (*.f64 b a))
#s(approx (* (* (* b b) a) a) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* b b) a) a) (*.f64 (*.f64 (*.f64 b b) a) a))
#s(approx (* (* b b) a) #s(hole binary64 (* a (pow b 2))))
#s(approx (* (* b b) a) (*.f64 (*.f64 b b) a))
#s(approx (* (* (* b b) a) (neg a)) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* b b) a) (neg a)) (*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b))
#s(approx (neg a) #s(hole binary64 (* -1 a)))
#s(approx (neg a) (neg.f64 a))
#s(approx (* (* (* (neg b) a) b) a) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* b b) a) (neg a)) (*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b))
#s(approx (* (* (neg b) a) b) #s(hole binary64 (* -1 (* a (pow b 2)))))
#s(approx (* (* (neg b) a) b) (*.f64 (*.f64 (neg.f64 b) a) b))
#s(approx (sqrt (* a b)) #s(hole binary64 (sqrt (* a b))))
#s(approx (sqrt (* a b)) (sqrt.f64 (*.f64 b a)))
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (* (sqrt (* a b)) (sqrt (* a b))) (*.f64 b a))
#s(approx (* (* (neg b) a) (* (sqrt (* a b)) (sqrt (* a b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (* b b) a) (neg a)) (*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b))
#s(approx (sqrt (* a b)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* a b)) (sqrt.f64 (*.f64 b a)))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
#s(approx (neg b) (neg.f64 b))
#s(approx (* b b) #s(hole binary64 (pow b 2)))
#s(approx (* b b) (*.f64 b b))

rewrite32.0ms (1.2%)

Memory
-8.4MiB live, 36.9MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01787
03275
17765
027565
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
15 → 223
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 a b) a)
(*.f64 a b)
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) a)
(*.f64 b b)
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(neg.f64 a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (neg.f64 b) a) b)
(sqrt.f64 (*.f64 a b))
Outputs
(*.f64 (*.f64 (sqrt.f64 (*.f64 b a)) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b)))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 b a)))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b))
(*.f64 (pow.f64 (sqrt.f64 a) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 b) #s(literal 2 binary64)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 (*.f64 b a) a)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 b a))))
(*.f64 (sqrt.f64 (*.f64 b a)) (sqrt.f64 (*.f64 b a)))
(*.f64 b a)
(*.f64 a b)
(pow.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 (*.f64 b a)) #s(literal 2 binary64))
(pow.f64 (*.f64 b a) #s(literal 1 binary64))
(neg.f64 (*.f64 (neg.f64 b) a))
(sqrt.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(fabs.f64 (*.f64 b a))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b a))) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (*.f64 a (*.f64 (neg.f64 b) a)) b)
(*.f64 (*.f64 (neg.f64 a) (*.f64 b b)) a)
(*.f64 (neg.f64 (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 b) a)))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 (neg.f64 a) a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 b b) (*.f64 (neg.f64 a) a))
(*.f64 (*.f64 (*.f64 b a) a) (neg.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) (*.f64 (neg.f64 a) a)))
(*.f64 (neg.f64 b) (*.f64 (*.f64 b a) a))
(*.f64 (sqrt.f64 (*.f64 b a)) (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 b a) (*.f64 (neg.f64 b) a))
(*.f64 b (*.f64 (*.f64 b a) (neg.f64 a)))
(*.f64 b (*.f64 b (*.f64 (neg.f64 a) a)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(*.f64 b (*.f64 a (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (*.f64 b b) (neg.f64 a)))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(neg.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 b a)))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (neg.f64 a) b)
(*.f64 (neg.f64 b) a)
(*.f64 (sqrt.f64 (*.f64 b a)) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 b (neg.f64 a))
(*.f64 a (neg.f64 b))
(neg.f64 (*.f64 b a))
(neg.f64 b)
(*.f64 (*.f64 (*.f64 b a) (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 (*.f64 b a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (fabs.f64 b) a) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 b a)))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 b a) a) b)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) (*.f64 a a)))
(*.f64 (sqrt.f64 (*.f64 b a)) (*.f64 (sqrt.f64 (*.f64 b a)) (*.f64 b a)))
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 b (*.f64 (*.f64 b a) a))
(*.f64 a (*.f64 (*.f64 b b) a))
(pow.f64 (sqrt.f64 (*.f64 b a)) #s(literal 4 binary64))
(pow.f64 (*.f64 b a) #s(literal 2 binary64))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))
(*.f64 (*.f64 a (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 a (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 a a) b)
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) a))
(*.f64 (sqrt.f64 (*.f64 b a)) (*.f64 (sqrt.f64 (*.f64 b a)) a))
(*.f64 (*.f64 b a) a)
(*.f64 b (*.f64 a a))
(*.f64 a (*.f64 b a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 b a)) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b)))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 b a)))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b))
(*.f64 (pow.f64 (sqrt.f64 a) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 b) #s(literal 2 binary64)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 (*.f64 b a) a)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 b a))))
(*.f64 (sqrt.f64 (*.f64 b a)) (sqrt.f64 (*.f64 b a)))
(*.f64 b a)
(*.f64 a b)
(pow.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 (*.f64 b a)) #s(literal 2 binary64))
(pow.f64 (*.f64 b a) #s(literal 1 binary64))
(neg.f64 (*.f64 (neg.f64 b) a))
(sqrt.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(fabs.f64 (*.f64 b a))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b a))) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 b a) (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 (*.f64 b a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (fabs.f64 b) a) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 b a)))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 b a) a) b)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) (*.f64 a a)))
(*.f64 (sqrt.f64 (*.f64 b a)) (*.f64 (sqrt.f64 (*.f64 b a)) (*.f64 b a)))
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 b (*.f64 (*.f64 b a) a))
(*.f64 a (*.f64 (*.f64 b b) a))
(pow.f64 (sqrt.f64 (*.f64 b a)) #s(literal 4 binary64))
(pow.f64 (*.f64 b a) #s(literal 2 binary64))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))
(*.f64 (*.f64 b (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 b (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 a (fabs.f64 b)) (fabs.f64 b))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 b b) a)
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 b))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 b a) b)
(*.f64 b (*.f64 b a))
(*.f64 a (*.f64 b b))
(*.f64 (pow.f64 b #s(literal 1 binary64)) (pow.f64 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 (fabs.f64 b) (fabs.f64 b))
(*.f64 (neg.f64 b) (neg.f64 b))
(*.f64 b b)
(pow.f64 (fabs.f64 b) #s(literal 2 binary64))
(pow.f64 (neg.f64 b) #s(literal 2 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 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (*.f64 a (*.f64 (neg.f64 b) a)) b)
(*.f64 (*.f64 (neg.f64 a) (*.f64 b b)) a)
(*.f64 (neg.f64 (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 b) a)))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 (neg.f64 a) a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 b b) (*.f64 (neg.f64 a) a))
(*.f64 (*.f64 (*.f64 b a) a) (neg.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) (*.f64 (neg.f64 a) a)))
(*.f64 (neg.f64 b) (*.f64 (*.f64 b a) a))
(*.f64 (sqrt.f64 (*.f64 b a)) (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 b a) (*.f64 (neg.f64 b) a))
(*.f64 b (*.f64 (*.f64 b a) (neg.f64 a)))
(*.f64 b (*.f64 b (*.f64 (neg.f64 a) a)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(*.f64 b (*.f64 a (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (*.f64 b b) (neg.f64 a)))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(neg.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(neg.f64 a)
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (*.f64 a (*.f64 (neg.f64 b) a)) b)
(*.f64 (*.f64 (neg.f64 a) (*.f64 b b)) a)
(*.f64 (neg.f64 (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) (*.f64 (neg.f64 b) a)))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 (neg.f64 a) a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 b b) a))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 b b) (*.f64 (neg.f64 a) a))
(*.f64 (*.f64 (*.f64 b a) a) (neg.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) (*.f64 (neg.f64 a) a)))
(*.f64 (neg.f64 b) (*.f64 (*.f64 b a) a))
(*.f64 (sqrt.f64 (*.f64 b a)) (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 b a) (*.f64 (neg.f64 b) a))
(*.f64 b (*.f64 (*.f64 b a) (neg.f64 a)))
(*.f64 b (*.f64 b (*.f64 (neg.f64 a) a)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(*.f64 b (*.f64 a (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (*.f64 b b) (neg.f64 a)))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(neg.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)))
(*.f64 (*.f64 (neg.f64 b) (neg.f64 (sqrt.f64 (*.f64 b a)))) (neg.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (neg.f64 b) b) a)
(*.f64 (*.f64 b (neg.f64 b)) a)
(*.f64 (*.f64 (neg.f64 b) a) b)
(*.f64 (neg.f64 b) (*.f64 b a))
(*.f64 (*.f64 b a) (neg.f64 b))
(*.f64 b (*.f64 (neg.f64 b) a))
(*.f64 a (*.f64 (neg.f64 b) b))
(neg.f64 (*.f64 (*.f64 b b) a))
(*.f64 (pow.f64 (*.f64 b a) #s(literal 1/4 binary64)) (pow.f64 (*.f64 b a) #s(literal 1/4 binary64)))
(*.f64 (fabs.f64 (sqrt.f64 a)) (fabs.f64 (sqrt.f64 b)))
(*.f64 (sqrt.f64 (neg.f64 (sqrt.f64 (*.f64 b a)))) (sqrt.f64 (neg.f64 (sqrt.f64 (*.f64 b a)))))
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 b a))) (sqrt.f64 (sqrt.f64 (*.f64 b a))))
(*.f64 (pow.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) #s(literal 1/2 binary64)) (pow.f64 (neg.f64 (sqrt.f64 (*.f64 b a))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 b a)) #s(literal 1/2 binary64)) (pow.f64 (sqrt.f64 (*.f64 b a)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (sqrt.f64 b))
(pow.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (sqrt.f64 (*.f64 b a)) #s(literal 1 binary64))
(pow.f64 (*.f64 b a) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 b a))
(fabs.f64 (neg.f64 (sqrt.f64 (*.f64 b a))))
(fabs.f64 (sqrt.f64 (*.f64 b a)))
(exp.f64 (*.f64 (log.f64 (*.f64 b a)) #s(literal 1/2 binary64)))

eval30.0ms (1.2%)

Memory
-17.1MiB live, 35.3MiB allocated; 8ms collecting garbage
Compiler

Compiled 2 358 to 425 computations (82% saved)

prune30.0ms (1.2%)

Memory
-2.6MiB live, 44.3MiB allocated; 1ms collecting garbage
Pruning

17 alts after pruning (7 fresh and 10 done)

PrunedKeptTotal
New1907197
Fresh101
Picked055
Done055
Total19117208
Accuracy
100.0%
Counts
208 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.0%
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a))) a)
99.5%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
91.1%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
81.6%
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
22.4%
(*.f64 (*.f64 (*.f64 b b) a) a)
22.7%
(*.f64 (*.f64 (*.f64 a b) a) b)
99.5%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (pow.f64 (*.f64 b a) #s(literal 1/4 binary64)) (pow.f64 (*.f64 b a) #s(literal 1/4 binary64))) (sqrt.f64 (*.f64 a b))))
99.4%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 b a))) (sqrt.f64 (sqrt.f64 (*.f64 b a)))) (sqrt.f64 (*.f64 a b))))
99.5%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
99.4%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b))))
91.0%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b)))
99.5%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
99.6%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
22.9%
(*.f64 (*.f64 b (*.f64 a a)) b)
22.6%
(*.f64 (*.f64 b a) (*.f64 b a))
91.1%
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
79.7%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 312 to 199 computations (36.2% saved)

simplify103.0ms (4%)

Memory
28.9MiB live, 75.0MiB allocated; 2ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff1
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b))))
cost-diff4
(*.f64 (sqrt.f64 b) (sqrt.f64 b))
cost-diff4
(*.f64 (sqrt.f64 a) (sqrt.f64 a))
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a)))
cost-diff1
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a))) a)
cost-diff6
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff2
(*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a)))
cost-diff5
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff1
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b)))
cost-diff2
(sqrt.f64 (*.f64 (*.f64 b a) a))
cost-diff4
(*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b))
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff1
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
cost-diff1
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
cost-diff6
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
026227
050203
1113197
2407155
32540149
43483149
53513149
63518149
73528149
83560149
93743149
105347149
08054149
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
(sqrt.f64 b)
(sqrt.f64 a)
(sqrt.f64 (*.f64 a b))
(*.f64 a b)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b))
(sqrt.f64 (*.f64 (*.f64 b a) a))
(*.f64 (*.f64 b a) a)
(*.f64 b a)
(sqrt.f64 b)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(sqrt.f64 (*.f64 b a))
(*.f64 b a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a))) a)
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a)))
(neg.f64 b)
b
(sqrt.f64 (*.f64 b a))
(*.f64 b a)
a
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b))))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b)))
(*.f64 (sqrt.f64 a) (sqrt.f64 a))
(sqrt.f64 a)
(*.f64 (sqrt.f64 b) (sqrt.f64 b))
(sqrt.f64 b)
Outputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(neg.f64 b)
b
a
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b)))
(*.f64 a b)
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
(sqrt.f64 (*.f64 a b))
(sqrt.f64 b)
(sqrt.f64 a)
(sqrt.f64 (*.f64 a b))
(*.f64 a b)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b)))
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(neg.f64 b)
b
a
(*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b))
(*.f64 a b)
(sqrt.f64 (*.f64 (*.f64 b a) a))
(*.f64 (sqrt.f64 b) a)
(*.f64 (*.f64 b a) a)
(*.f64 (*.f64 a b) a)
(*.f64 b a)
(*.f64 a b)
(sqrt.f64 b)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a)))
(pow.f64 (neg.f64 (sqrt.f64 (*.f64 a b))) #s(literal 3 binary64))
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(neg.f64 b)
b
a
(sqrt.f64 (*.f64 b a))
(sqrt.f64 (*.f64 a b))
(*.f64 b a)
(*.f64 a b)
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a))) a)
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 a (neg.f64 b)) b)
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a)))
(*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b))
(neg.f64 b)
b
(sqrt.f64 (*.f64 b a))
(sqrt.f64 (*.f64 a b))
(*.f64 b a)
(*.f64 a b)
a
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b))))
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(neg.f64 b)
b
a
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b)))
(*.f64 a b)
(*.f64 (sqrt.f64 a) (sqrt.f64 a))
a
(sqrt.f64 a)
(*.f64 (sqrt.f64 b) (sqrt.f64 b))
b
(sqrt.f64 b)

localize116.0ms (4.5%)

Memory
-5.5MiB live, 86.2MiB allocated; 16ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(neg.f64 b)
accuracy0.23503876953688405
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b))))
accuracy0.4453125
(*.f64 (sqrt.f64 a) (sqrt.f64 a))
accuracy0.5625
(*.f64 (sqrt.f64 b) (sqrt.f64 b))
accuracy0.15234375
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a)))
accuracy0.1875
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
accuracy5.683468040294144
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a))) a)
accuracy13.485309642371186
(sqrt.f64 (*.f64 b a))
accuracy0.0
(neg.f64 b)
accuracy0.15625
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
accuracy0.17578125
(*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a)))
accuracy13.485309642371186
(sqrt.f64 (*.f64 b a))
accuracy0.12890625
(*.f64 (*.f64 b a) a)
accuracy0.23503876953688405
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b)))
accuracy0.24609375
(*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b))
accuracy23.429697524552996
(sqrt.f64 (*.f64 (*.f64 b a) a))
accuracy0.23503876953688405
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
accuracy0.3170700195368841
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
accuracy0.37337875976844204
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b)))
accuracy13.485309642371186
(sqrt.f64 (*.f64 a b))
Samples
92.0ms256×0valid
Compiler

Compiled 229 to 28 computations (87.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 75.0ms
ival-sqrt: 43.0ms (57% of total)
ival-mult: 28.0ms (37.1% of total)
ival-neg: 4.0ms (5.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series36.0ms (1.4%)

Memory
-6.0MiB live, 40.2MiB allocated; 2ms collecting garbage
Counts
19 → 38
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
(*.f64 (neg.f64 b) a)
(*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b))
(sqrt.f64 (*.f64 (*.f64 b a) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a)))
(neg.f64 b)
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a))) a)
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a)))
(*.f64 (sqrt.f64 a) (sqrt.f64 a))
(*.f64 (sqrt.f64 b) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b))))
(sqrt.f64 (*.f64 a b))
(*.f64 (*.f64 b a) a)
(sqrt.f64 (*.f64 b a))
Outputs
#s(approx (* (* (sqrt b) (sqrt a)) (sqrt (* a b))) #s(hole binary64 (* a b)))
#s(approx (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (sqrt b) (sqrt a)) #s(hole binary64 (sqrt (* a b))))
#s(approx (* (neg b) a) #s(hole binary64 (* -1 (* a b))))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* a b)))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* a (sqrt b))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (sqrt (* b a))) #s(hole binary64 (* -1 (sqrt (* (pow a 3) (pow b 3))))))
#s(approx (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* -1 (* a (pow b 2)))))
#s(approx (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (neg b) (sqrt (* b a))) #s(hole binary64 (* -1 (sqrt (* a (pow b 3))))))
#s(approx (* (sqrt a) (sqrt a)) #s(hole binary64 a))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (sqrt (* a b)) #s(hole binary64 (sqrt (* a b))))
#s(approx (* (* b a) a) #s(hole binary64 (* (pow a 2) b)))
#s(approx (sqrt (* b a)) #s(hole binary64 (sqrt (* a b))))
#s(approx (* (* (sqrt b) (sqrt a)) (sqrt (* a b))) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (sqrt b) (sqrt a)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* -1 (* a b))))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* -1 (* a (sqrt b)))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (sqrt (* b a))) #s(hole binary64 (* (sqrt (* (pow a 3) (pow b 3))) (pow (sqrt -1) 2))))
#s(approx (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* a (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (neg b) (sqrt (* b a))) #s(hole binary64 (* (sqrt (* a (pow b 3))) (pow (sqrt -1) 2))))
#s(approx (* (sqrt a) (sqrt a)) #s(hole binary64 (* -1 (* a (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* a b)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* b a)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
#s(approx (* (sqrt b) (sqrt b)) #s(hole binary64 b))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* -1 (* (* a (pow (sqrt -1) 2)) (sqrt b)))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (sqrt b) (sqrt b)) #s(hole binary64 (* -1 (* b (pow (sqrt -1) 2)))))
Calls

6 calls:

TimeVariablePointExpression
14.0ms
a
@-inf
((* (* (sqrt b) (sqrt a)) (sqrt (* a b))) (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) (* (sqrt b) (sqrt a)) (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b)) (sqrt (* (* b a) a)) (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) (* (* (neg b) a) (sqrt (* b a))) (neg b) (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) (* (neg b) (sqrt (* b a))) (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)) (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (sqrt (* a b)) (* (* b a) a) (sqrt (* b a)))
7.0ms
b
@-inf
((* (* (sqrt b) (sqrt a)) (sqrt (* a b))) (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) (* (sqrt b) (sqrt a)) (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b)) (sqrt (* (* b a) a)) (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) (* (* (neg b) a) (sqrt (* b a))) (neg b) (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) (* (neg b) (sqrt (* b a))) (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)) (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (sqrt (* a b)) (* (* b a) a) (sqrt (* b a)))
4.0ms
a
@0
((* (* (sqrt b) (sqrt a)) (sqrt (* a b))) (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) (* (sqrt b) (sqrt a)) (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b)) (sqrt (* (* b a) a)) (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) (* (* (neg b) a) (sqrt (* b a))) (neg b) (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) (* (neg b) (sqrt (* b a))) (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)) (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (sqrt (* a b)) (* (* b a) a) (sqrt (* b a)))
4.0ms
b
@inf
((* (* (sqrt b) (sqrt a)) (sqrt (* a b))) (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) (* (sqrt b) (sqrt a)) (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b)) (sqrt (* (* b a) a)) (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) (* (* (neg b) a) (sqrt (* b a))) (neg b) (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) (* (neg b) (sqrt (* b a))) (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)) (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (sqrt (* a b)) (* (* b a) a) (sqrt (* b a)))
3.0ms
b
@0
((* (* (sqrt b) (sqrt a)) (sqrt (* a b))) (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) (* (sqrt b) (sqrt a)) (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b)) (sqrt (* (* b a) a)) (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) (* (* (neg b) a) (sqrt (* b a))) (neg b) (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) (* (neg b) (sqrt (* b a))) (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)) (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (sqrt (* a b)) (* (* b a) a) (sqrt (* b a)))

simplify56.0ms (2.2%)

Memory
22.7MiB live, 65.9MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0103561
1240549
2920460
02152460
Stop Event
iter limit
iter limit
iter limit
unsound
Counts
38 → 38
Calls
Call 1
Inputs
#s(approx (* (* (sqrt b) (sqrt a)) (sqrt (* a b))) #s(hole binary64 (* a b)))
#s(approx (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (sqrt b) (sqrt a)) #s(hole binary64 (sqrt (* a b))))
#s(approx (* (neg b) a) #s(hole binary64 (* -1 (* a b))))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* a b)))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* a (sqrt b))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (sqrt (* b a))) #s(hole binary64 (* -1 (sqrt (* (pow a 3) (pow b 3))))))
#s(approx (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* -1 (* a (pow b 2)))))
#s(approx (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (neg b) (sqrt (* b a))) #s(hole binary64 (* -1 (sqrt (* a (pow b 3))))))
#s(approx (* (sqrt a) (sqrt a)) #s(hole binary64 a))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (sqrt (* a b)) #s(hole binary64 (sqrt (* a b))))
#s(approx (* (* b a) a) #s(hole binary64 (* (pow a 2) b)))
#s(approx (sqrt (* b a)) #s(hole binary64 (sqrt (* a b))))
#s(approx (* (* (sqrt b) (sqrt a)) (sqrt (* a b))) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (sqrt b) (sqrt a)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* -1 (* a b))))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* -1 (* a (sqrt b)))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (sqrt (* b a))) #s(hole binary64 (* (sqrt (* (pow a 3) (pow b 3))) (pow (sqrt -1) 2))))
#s(approx (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* a (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (neg b) (sqrt (* b a))) #s(hole binary64 (* (sqrt (* a (pow b 3))) (pow (sqrt -1) 2))))
#s(approx (* (sqrt a) (sqrt a)) #s(hole binary64 (* -1 (* a (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* a b)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* b a)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
#s(approx (* (sqrt b) (sqrt b)) #s(hole binary64 b))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* -1 (* (* a (pow (sqrt -1) 2)) (sqrt b)))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (sqrt b) (sqrt b)) #s(hole binary64 (* -1 (* b (pow (sqrt -1) 2)))))
Outputs
#s(approx (* (* (sqrt b) (sqrt a)) (sqrt (* a b))) #s(hole binary64 (* a b)))
#s(approx (* (* (sqrt b) (sqrt a)) (sqrt (* a b))) (*.f64 a b))
#s(approx (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (* (sqrt b) (sqrt a)) #s(hole binary64 (sqrt (* a b))))
#s(approx (sqrt (* b a)) (sqrt.f64 (*.f64 a b)))
#s(approx (* (neg b) a) #s(hole binary64 (* -1 (* a b))))
#s(approx (* (neg b) a) (*.f64 (neg.f64 b) a))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* a b)))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) (*.f64 a b))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* a (sqrt b))))
#s(approx (sqrt (* (* b a) a)) (*.f64 (sqrt.f64 b) a))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (* (* (neg b) a) (sqrt (* b a))) #s(hole binary64 (* -1 (sqrt (* (pow a 3) (pow b 3))))))
#s(approx (* (* (neg b) a) (sqrt (* b a))) (neg.f64 (sqrt.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)))))
#s(approx (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* -1 (* a (pow b 2)))))
#s(approx (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) (*.f64 (*.f64 (neg.f64 b) a) b))
#s(approx (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (* (neg b) (sqrt (* b a))) #s(hole binary64 (* -1 (sqrt (* a (pow b 3))))))
#s(approx (* (neg b) (sqrt (* b a))) (neg.f64 (sqrt.f64 (*.f64 (pow.f64 b #s(literal 3 binary64)) a))))
#s(approx (* (sqrt a) (sqrt a)) #s(hole binary64 a))
#s(approx (* (sqrt a) (sqrt a)) a)
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) #s(hole binary64 (* -1 (* (pow a 2) (pow b 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (sqrt (* a b)) #s(hole binary64 (sqrt (* a b))))
#s(approx (sqrt (* b a)) (sqrt.f64 (*.f64 a b)))
#s(approx (* (* b a) a) #s(hole binary64 (* (pow a 2) b)))
#s(approx (* (* b a) a) (*.f64 (*.f64 a a) b))
#s(approx (sqrt (* b a)) #s(hole binary64 (sqrt (* a b))))
#s(approx (sqrt (* b a)) (sqrt.f64 (*.f64 a b)))
#s(approx (* (* (sqrt b) (sqrt a)) (sqrt (* a b))) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (* (* (sqrt b) (sqrt a)) (sqrt (* a b))) (*.f64 a b))
#s(approx (* (* (neg b) a) (* (* (sqrt b) (sqrt a)) (sqrt (* a b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (* (sqrt b) (sqrt a)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* b a)) (sqrt.f64 (*.f64 a b)))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* -1 (* a b))))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) (*.f64 (neg.f64 b) a))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* -1 (* a (sqrt b)))))
#s(approx (sqrt (* (* b a) a)) (*.f64 (neg.f64 a) (sqrt.f64 b)))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* (pow a 2) (pow b 2))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) (*.f64 (*.f64 (*.f64 b b) a) a))
#s(approx (* (* (* (neg b) a) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (* (* (neg b) a) (sqrt (* b a))) #s(hole binary64 (* (sqrt (* (pow a 3) (pow b 3))) (pow (sqrt -1) 2))))
#s(approx (* (* (neg b) a) (sqrt (* b a))) (neg.f64 (sqrt.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)))))
#s(approx (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) #s(hole binary64 (* a (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) (*.f64 (*.f64 (neg.f64 b) a) b))
#s(approx (* (* (* (neg b) (sqrt (* b a))) (sqrt (* b a))) a) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (* (neg b) (sqrt (* b a))) #s(hole binary64 (* (sqrt (* a (pow b 3))) (pow (sqrt -1) 2))))
#s(approx (* (neg b) (sqrt (* b a))) (neg.f64 (sqrt.f64 (*.f64 (pow.f64 b #s(literal 3 binary64)) a))))
#s(approx (* (sqrt a) (sqrt a)) #s(hole binary64 (* -1 (* a (pow (sqrt -1) 2)))))
#s(approx (* (sqrt a) (sqrt a)) a)
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (* (* (sqrt a) (sqrt a)) (* (sqrt b) (sqrt b)))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (sqrt (* a b)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* b a)) (sqrt.f64 (*.f64 a b)))
#s(approx (sqrt (* b a)) #s(hole binary64 (* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))))
#s(approx (sqrt (* b a)) (sqrt.f64 (*.f64 a b)))
#s(approx (neg b) #s(hole binary64 (* -1 b)))
#s(approx (neg b) (neg.f64 b))
#s(approx (* (sqrt b) (sqrt b)) #s(hole binary64 b))
#s(approx (* (sqrt b) (sqrt b)) b)
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) #s(hole binary64 (* -1 (* a (* b (pow (sqrt -1) 2))))))
#s(approx (* (sqrt (* (* b a) a)) (sqrt b)) (*.f64 a b))
#s(approx (sqrt (* (* b a) a)) #s(hole binary64 (* -1 (* (* a (pow (sqrt -1) 2)) (sqrt b)))))
#s(approx (sqrt (* (* b a) a)) (*.f64 (sqrt.f64 b) a))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) #s(hole binary64 (* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))))
#s(approx (* (* (neg b) a) (* (sqrt (* (* b a) a)) (sqrt b))) (*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b)))
#s(approx (* (sqrt b) (sqrt b)) #s(hole binary64 (* -1 (* b (pow (sqrt -1) 2)))))
#s(approx (* (sqrt b) (sqrt b)) b)

rewrite41.0ms (1.6%)

Memory
-19.6MiB live, 26.6MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
026160
05099
112697
051797
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
19 → 343
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
(*.f64 (neg.f64 b) a)
(*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b))
(sqrt.f64 (*.f64 (*.f64 b a) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a)))
(neg.f64 b)
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a))) a)
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a)))
(*.f64 (sqrt.f64 a) (sqrt.f64 a))
(*.f64 (sqrt.f64 b) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b))))
(sqrt.f64 (*.f64 a b))
(*.f64 (*.f64 b a) a)
(sqrt.f64 (*.f64 b a))
Outputs
(*.f64 (*.f64 a (neg.f64 (sqrt.f64 b))) (neg.f64 (sqrt.f64 b)))
(*.f64 (*.f64 b (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 b))) (*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 b))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 a)) (sqrt.f64 b)) (*.f64 (neg.f64 (sqrt.f64 a)) (sqrt.f64 b)))
(*.f64 (*.f64 (sqrt.f64 a) (neg.f64 (sqrt.f64 b))) (*.f64 (sqrt.f64 a) (neg.f64 (sqrt.f64 b))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 b)) (neg.f64 (sqrt.f64 a))) (*.f64 (neg.f64 (sqrt.f64 b)) (neg.f64 (sqrt.f64 a))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 a)))
(*.f64 (*.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 a))) (*.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 a))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a b))) (neg.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) b))
(*.f64 (neg.f64 (sqrt.f64 b)) (*.f64 (neg.f64 (sqrt.f64 b)) a))
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b))
(*.f64 a b)
(*.f64 (sqrt.f64 b) (*.f64 a (sqrt.f64 b)))
(*.f64 b a)
(pow.f64 (*.f64 (*.f64 (*.f64 a b) a) b) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 2 binary64))
(pow.f64 (*.f64 a b) #s(literal 1 binary64))
(sqrt.f64 (*.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
(sqrt.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (neg.f64 (sqrt.f64 b))) (neg.f64 (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) a) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (*.f64 (sqrt.f64 (*.f64 a b)) a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (sqrt.f64 b) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 a b) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (neg.f64 b) a)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 a (*.f64 b (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b) (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1/4 binary64)) (pow.f64 (*.f64 a b) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 (sqrt.f64 a)) (sqrt.f64 (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 (*.f64 a (sqrt.f64 b))) (sqrt.f64 (sqrt.f64 b)))
(*.f64 (sqrt.f64 (sqrt.f64 b)) (sqrt.f64 (*.f64 a (sqrt.f64 b))))
(*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) #s(literal 1/2 binary64)) (pow.f64 (sqrt.f64 b) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 1/2 binary64)) (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 a) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (sqrt.f64 a) b) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 b) #s(literal 1/2 binary64)) (pow.f64 (*.f64 a (sqrt.f64 b)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 a) (sqrt.f64 b))
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
(pow.f64 (*.f64 a b) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 a b))
(fabs.f64 (sqrt.f64 (*.f64 a b)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (neg.f64 b) (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (neg.f64 (*.f64 a (sqrt.f64 b))) (sqrt.f64 b))
(*.f64 (neg.f64 a) b)
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 b)))
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (neg.f64 (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (*.f64 a (sqrt.f64 b)) (neg.f64 (sqrt.f64 b)))
(*.f64 (neg.f64 b) a)
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (sqrt.f64 a) (neg.f64 (*.f64 (sqrt.f64 a) b)))
(*.f64 a (neg.f64 b))
(*.f64 (sqrt.f64 b) (neg.f64 (*.f64 a (sqrt.f64 b))))
(*.f64 b (neg.f64 a))
(neg.f64 (*.f64 a b))
(*.f64 (*.f64 a (neg.f64 (sqrt.f64 b))) (neg.f64 (sqrt.f64 b)))
(*.f64 (*.f64 b (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 b))) (*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 b))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 a)) (sqrt.f64 b)) (*.f64 (neg.f64 (sqrt.f64 a)) (sqrt.f64 b)))
(*.f64 (*.f64 (sqrt.f64 a) (neg.f64 (sqrt.f64 b))) (*.f64 (sqrt.f64 a) (neg.f64 (sqrt.f64 b))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 b)) (neg.f64 (sqrt.f64 a))) (*.f64 (neg.f64 (sqrt.f64 b)) (neg.f64 (sqrt.f64 a))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 a)))
(*.f64 (*.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 a))) (*.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 a))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a b))) (neg.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) b))
(*.f64 (neg.f64 (sqrt.f64 b)) (*.f64 (neg.f64 (sqrt.f64 b)) a))
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b))
(*.f64 a b)
(*.f64 (sqrt.f64 b) (*.f64 a (sqrt.f64 b)))
(*.f64 b a)
(pow.f64 (*.f64 (*.f64 (*.f64 a b) a) b) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 2 binary64))
(pow.f64 (*.f64 a b) #s(literal 1 binary64))
(sqrt.f64 (*.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
(sqrt.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) a) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 a b) a) #s(literal 1/4 binary64)))
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) (sqrt.f64 b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 a b)))
(*.f64 a (sqrt.f64 b))
(*.f64 (sqrt.f64 b) a)
(pow.f64 (*.f64 (*.f64 a b) a) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (*.f64 a b) a))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 a b) a)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (neg.f64 (sqrt.f64 b))) (neg.f64 (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) a) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (*.f64 (sqrt.f64 (*.f64 a b)) a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (sqrt.f64 b) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 a b) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (neg.f64 b) a)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 a (*.f64 b (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b) (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (neg.f64 (sqrt.f64 b))) (neg.f64 (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) a) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (*.f64 (sqrt.f64 (*.f64 a b)) a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (sqrt.f64 b) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 a b) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (neg.f64 b) a)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 a (*.f64 b (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b) (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) a) (neg.f64 b))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) a)
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 a b)))
(*.f64 (neg.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 a) (*.f64 (neg.f64 b) a)))
(neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)))
(neg.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))))
(neg.f64 (*.f64 b (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 b))) (neg.f64 (sqrt.f64 b)))
(*.f64 (neg.f64 (sqrt.f64 b)) (neg.f64 (neg.f64 (sqrt.f64 b))))
(*.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)))
(neg.f64 b)
(*.f64 (*.f64 (neg.f64 b) (*.f64 a (sqrt.f64 b))) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (sqrt.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (neg.f64 b) b) a)
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (*.f64 a b) (neg.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) b)
(*.f64 (neg.f64 b) (*.f64 a b))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b))))
(neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) b)))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b) (sqrt.f64 (*.f64 a b))))
(neg.f64 (*.f64 b (*.f64 a b)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (neg.f64 (sqrt.f64 b))) (neg.f64 (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) a) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (*.f64 (sqrt.f64 (*.f64 a b)) a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (sqrt.f64 b) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 a b) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (neg.f64 b) a)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 a (*.f64 b (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b) (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 b)) (sqrt.f64 a))
(*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b))
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (neg.f64 b)))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 b (neg.f64 (sqrt.f64 (*.f64 a b))))
(neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b))
a
b
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (neg.f64 (sqrt.f64 b))) (neg.f64 (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) a) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (*.f64 (sqrt.f64 (*.f64 a b)) a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (sqrt.f64 b) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 a b) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (neg.f64 b) a)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 (neg.f64 b) a) b)))
(*.f64 a (*.f64 b (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (*.f64 (neg.f64 b) a) b))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) a))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (neg.f64 b) a)))
(*.f64 b (*.f64 (*.f64 (neg.f64 b) a) a))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b) (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1/4 binary64)) (pow.f64 (*.f64 a b) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 (sqrt.f64 a)) (sqrt.f64 (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 (*.f64 a (sqrt.f64 b))) (sqrt.f64 (sqrt.f64 b)))
(*.f64 (sqrt.f64 (sqrt.f64 b)) (sqrt.f64 (*.f64 a (sqrt.f64 b))))
(*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) #s(literal 1/2 binary64)) (pow.f64 (sqrt.f64 b) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 1/2 binary64)) (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 a) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (sqrt.f64 a) b) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 b) #s(literal 1/2 binary64)) (pow.f64 (*.f64 a (sqrt.f64 b)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 a) (sqrt.f64 b))
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
(pow.f64 (*.f64 a b) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 a b))
(fabs.f64 (sqrt.f64 (*.f64 a b)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 a b) (neg.f64 (sqrt.f64 a))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (*.f64 a (*.f64 a (sqrt.f64 b))) (sqrt.f64 b))
(*.f64 (*.f64 a (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 (sqrt.f64 a))) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 (sqrt.f64 a))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))) (*.f64 (neg.f64 (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 b)) a) (*.f64 (neg.f64 (sqrt.f64 b)) a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) a) (sqrt.f64 (*.f64 a b)))
(*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 (neg.f64 (sqrt.f64 a)) (*.f64 a b)))
(*.f64 (neg.f64 (sqrt.f64 b)) (*.f64 (neg.f64 (sqrt.f64 b)) (*.f64 a a)))
(*.f64 (*.f64 a a) b)
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) a))
(*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 a b) a)
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 a b)))
(*.f64 a (*.f64 a b))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 a (sqrt.f64 b)) a))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (*.f64 a a)))
(*.f64 b (*.f64 a a))
(sqrt.f64 (*.f64 (*.f64 a a) (*.f64 (*.f64 (*.f64 a b) a) b)))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1/4 binary64)) (pow.f64 (*.f64 a b) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 a b))) (sqrt.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 (sqrt.f64 a)) (sqrt.f64 (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 (*.f64 a (sqrt.f64 b))) (sqrt.f64 (sqrt.f64 b)))
(*.f64 (sqrt.f64 (sqrt.f64 b)) (sqrt.f64 (*.f64 a (sqrt.f64 b))))
(*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) #s(literal 1/2 binary64)) (pow.f64 (sqrt.f64 b) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 1/2 binary64)) (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 a) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (sqrt.f64 a) b) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 b) #s(literal 1/2 binary64)) (pow.f64 (*.f64 a (sqrt.f64 b)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 a) (sqrt.f64 b))
(*.f64 (sqrt.f64 b) (sqrt.f64 a))
(pow.f64 (*.f64 a b) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 a b))
(fabs.f64 (sqrt.f64 (*.f64 a b)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 1/2 binary64)))

eval60.0ms (2.3%)

Memory
-11.2MiB live, 40.1MiB allocated; 10ms collecting garbage
Compiler

Compiled 4 211 to 652 computations (84.5% saved)

prune19.0ms (0.7%)

Memory
-11.8MiB live, 33.2MiB allocated; 4ms collecting garbage
Pruning

14 alts after pruning (4 fresh and 10 done)

PrunedKeptTotal
New2544258
Fresh202
Picked415
Done1910
Total26114275
Accuracy
100.0%
Counts
275 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
90.9%
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b)) a)
99.5%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
99.5%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
99.6%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
91.1%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
81.6%
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
22.4%
(*.f64 (*.f64 (*.f64 b b) a) a)
22.7%
(*.f64 (*.f64 (*.f64 a b) a) b)
99.6%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
22.9%
(*.f64 (*.f64 b (*.f64 a a)) b)
22.6%
(*.f64 (*.f64 b a) (*.f64 b a))
97.1%
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (neg.f64 b) a)))
91.1%
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
79.7%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 406 to 164 computations (59.6% saved)

regimes32.0ms (1.2%)

Memory
8.9MiB live, 53.5MiB allocated; 4ms collecting garbage
Counts
24 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 (*.f64 b b) a) a)
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) (*.f64 (neg.f64 b) b)))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b)) a)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b))))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) a)) (sqrt.f64 b)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 b b) a)) (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 b a))) (sqrt.f64 (*.f64 b a))) a)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 a)) (sqrt.f64 (*.f64 a b))))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) (*.f64 (sqrt.f64 b) (sqrt.f64 b))))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 b a))) (sqrt.f64 (sqrt.f64 (*.f64 b a)))) (sqrt.f64 (*.f64 a b))))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (pow.f64 (*.f64 b a) #s(literal 1/4 binary64)) (pow.f64 (*.f64 b a) #s(literal 1/4 binary64))) (sqrt.f64 (*.f64 a b))))
Outputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
Calls

5 calls:

8.0ms
(*.f64 a a)
7.0ms
a
6.0ms
b
5.0ms
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
5.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
Results
AccuracySegmentsBranch
99.6%1(*.f64 a a)
99.6%1(*.f64 (*.f64 (*.f64 a a) b) b)
99.6%1(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
99.6%1a
99.6%1b
Compiler

Compiled 20 to 18 computations (10% saved)

regimes12.0ms (0.5%)

Memory
24.5MiB live, 24.5MiB allocated; 0ms collecting garbage
Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 (*.f64 b b) a) a)
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
Outputs
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
Calls

5 calls:

3.0ms
b
3.0ms
a
2.0ms
(*.f64 a a)
2.0ms
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
2.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
Results
AccuracySegmentsBranch
91.1%1(*.f64 a a)
91.1%1(*.f64 (*.f64 (*.f64 a a) b) b)
91.1%1(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
91.1%1a
91.1%1b
Compiler

Compiled 20 to 18 computations (10% saved)

regimes13.0ms (0.5%)

Memory
-23.9MiB live, 21.8MiB allocated; 3ms collecting garbage
Counts
6 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 (*.f64 b b) a) a)
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Outputs
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Calls

5 calls:

4.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
2.0ms
b
2.0ms
a
2.0ms
(*.f64 a a)
2.0ms
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Results
AccuracySegmentsBranch
79.7%1(*.f64 a a)
79.7%1(*.f64 (*.f64 (*.f64 a a) b) b)
79.7%1(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
79.7%1b
79.7%1a
Compiler

Compiled 20 to 18 computations (10% saved)

regimes9.0ms (0.4%)

Memory
20.2MiB live, 20.2MiB allocated; 0ms collecting garbage
Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 (*.f64 b b) a) a)
Outputs
(*.f64 (*.f64 b (*.f64 a a)) b)
Calls

5 calls:

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

Compiled 20 to 18 computations (10% saved)

regimes5.0ms (0.2%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

1.0ms
b
1.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
22.6%1(*.f64 (*.f64 (*.f64 a a) b) b)
22.6%1(*.f64 a a)
22.6%1a
22.6%1b
22.6%1(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 20 to 18 computations (10% saved)

simplify21.0ms (0.8%)

Memory
-37.7MiB live, 17.1MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01638
13438
25438
36938
47238
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 (*.f64 b a) (*.f64 b a))
Outputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
(*.f64 (*.f64 b a) (*.f64 (neg.f64 b) a))
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) b)
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(*.f64 (*.f64 (*.f64 a a) b) (neg.f64 b))
(*.f64 (*.f64 b (*.f64 a a)) b)
(*.f64 (*.f64 b a) (*.f64 b a))

derivations13.0ms (0.5%)

Memory
11.8MiB live, 11.8MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 38 to 14 computations (63.2% saved)

preprocess51.0ms (2%)

Memory
-4.9MiB live, 41.4MiB allocated; 3ms collecting garbage
Remove

(sort a b)

(abs a)

(abs b)

Compiler

Compiled 284 to 184 computations (35.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...