ab-angle->ABCF D

Time bar (total: 2.6s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB 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)

sample716.0ms (27.8%)

Memory
7.0MiB live, 729.7MiB allocated; 231ms collecting garbage
Samples
440.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 254.0ms
ival-mult: 201.0ms (79.3% of total)
ival-neg: 41.0ms (16.2% of total)
ival-true: 6.0ms (2.4% of total)
ival-assert: 3.0ms (1.2% of total)
adjust: 2.0ms (0.8% of total)
Bogosity

explain89.0ms (3.5%)

Memory
-9.4MiB live, 83.2MiB allocated; 7ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
280-0-(*.f64 (*.f64 a a) b)
140-0-(*.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*o170
*.f64(*.f64 (*.f64 a a) b)n*u110
*.f64(*.f64 (*.f64 (*.f64 a a) b) b)n*o80
*.f64(*.f64 (*.f64 (*.f64 a a) b) b)n*u60
Confusion
Predicted +Predicted -
+420
-0214
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+4200
-00214
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0214
142
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
53.0ms512×0valid
Compiler

Compiled 62 to 22 computations (64.5% saved)

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

preprocess31.0ms (1.2%)

Memory
-21.0MiB live, 31.6MiB allocated; 9ms collecting garbage
Algorithm
egg-herbie
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.1MiB live, 0.1MiB 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
84.6%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 8 to 6 computations (25% saved)

simplify10.0ms (0.4%)

Memory
7.9MiB live, 7.9MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
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

localize17.0ms (0.7%)

Memory
29.7MiB live, 29.7MiB allocated; 0ms 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))
accuracy2.664902127262327
(*.f64 (*.f64 (*.f64 a a) b) b)
accuracy7.0333416476504125
(*.f64 (*.f64 a a) b)
Samples
12.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 (83.6% of total)
ival-neg: 1.0ms (16.7% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series9.0ms (0.3%)

Memory
-36.0MiB live, 10.3MiB allocated; 3ms 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
(* -1 (* (pow a 2) (pow b 2)))
(* (pow a 2) (pow b 2))
(* (pow a 2) b)
(pow a 2)
Calls

6 calls:

TimeVariablePointExpression
4.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
@0
((neg (* (* (* a a) b) b)) (* (* (* a a) b) b) (* (* a a) b) (* a a))
1.0ms
a
@-inf
((neg (* (* (* a a) b) b)) (* (* (* a a) b) b) (* (* a a) b) (* a a))

simplify137.0ms (5.3%)

Memory
38.4MiB live, 126.5MiB allocated; 10ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11923
26223
327123
491923
5132223
6406623
0836223
Stop Event
iter limit
node limit
Counts
4 → 4
Calls
Call 1
Inputs
(* -1 (* (pow a 2) (pow b 2)))
(* (pow a 2) (pow b 2))
(* (pow a 2) b)
(pow a 2)
Outputs
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 (*.f64 (*.f64 (neg.f64 a) b) b) a)
(* (pow a 2) (pow b 2))
(*.f64 (*.f64 (*.f64 b a) b) a)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(pow a 2)
(*.f64 a a)

rewrite62.0ms (2.4%)

Memory
-12.7MiB live, 39.4MiB allocated; 12ms 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
10.8MiB live, 10.8MiB allocated; 0ms collecting garbage
Compiler

Compiled 717 to 199 computations (72.2% saved)

prune32.0ms (1.2%)

Memory
-32.4MiB live, 13.8MiB allocated; 2ms collecting garbage
Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New67976
Fresh000
Picked011
Done000
Total671077
Accuracy
99.9%
Counts
77 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.3%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
29.0%
(*.f64 (*.f64 (*.f64 b a) b) a)
78.4%
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
99.7%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
29.3%
(*.f64 (*.f64 b (*.f64 a a)) b)
28.9%
(*.f64 (*.f64 b b) (*.f64 a a))
29.0%
(*.f64 (*.f64 b a) (*.f64 b a))
84.1%
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) (*.f64 (neg.f64 b) b)))
95.8%
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
84.6%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 148 to 106 computations (28.4% saved)

simplify11.0ms (0.4%)

Memory
14.5MiB live, 14.5MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 17 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-diff0
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
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 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
01595
02895
15995
214495
338195
475095
582695
082695
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
(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
(*.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 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
(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
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (*.f64 b b) a) (neg.f64 a))
(*.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

localize47.0ms (1.8%)

Memory
20.3MiB live, 63.4MiB allocated; 6ms collecting garbage
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (neg.f64 b) a)
accuracy0.0
(neg.f64 b)
accuracy0.1328125
(*.f64 (*.f64 (neg.f64 b) a) b)
accuracy3.5988406308011722
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
accuracy0.0
(*.f64 b a)
accuracy0.0
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
accuracy0.1328125
(*.f64 (*.f64 b a) a)
accuracy2.664902127262327
(*.f64 (*.f64 (*.f64 b a) a) b)
accuracy0.0
(*.f64 a a)
accuracy2.664902127262327
(*.f64 (*.f64 b (*.f64 a a)) b)
accuracy7.0333416476504125
(*.f64 b (*.f64 a a))
accuracy0.0
(*.f64 b a)
accuracy0.178066259768442
(*.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.178066259768442
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
Samples
36.0ms256×0valid
Compiler

Compiled 97 to 17 computations (82.5% saved)

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

series14.0ms (0.5%)

Memory
-20.5MiB live, 23.6MiB allocated; 5ms collecting garbage
Counts
13 → 8
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)
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
(*.f64 (*.f64 (*.f64 b a) a) b)
(*.f64 (*.f64 b a) a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (neg.f64 b) a) b)
Outputs
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* a b))
(* a b)
(* (pow a 2) (pow b 2))
(* (pow a 2) b)
(pow a 2)
(* -1 (* a (pow b 2)))
(* -1 b)
Calls

6 calls:

TimeVariablePointExpression
4.0ms
b
@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) (neg (* (* (* b a) a) b)) (* (* (* b a) a) b) (* (* b a) a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b))
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) (neg (* (* (* b a) a) b)) (* (* (* b a) a) b) (* (* b a) a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b))
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) (neg (* (* (* b a) a) b)) (* (* (* b a) a) b) (* (* b a) a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b))
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) (neg (* (* (* b a) a) b)) (* (* (* b a) a) b) (* (* b a) a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b))
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) (neg (* (* (* b a) a) b)) (* (* (* b a) a) b) (* (* b a) a) (* (* (* (neg b) a) b) a) (* (* (neg b) a) b))

simplify109.0ms (4.2%)

Memory
25.4MiB live, 78.8MiB allocated; 8ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01438
13538
28738
324538
492438
5227338
6481438
0806338
Stop Event
iter limit
node limit
Counts
8 → 8
Calls
Call 1
Inputs
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* a b))
(* a b)
(* (pow a 2) (pow b 2))
(* (pow a 2) b)
(pow a 2)
(* -1 (* a (pow b 2)))
(* -1 b)
Outputs
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b)
(* -1 (* a b))
(*.f64 (neg.f64 a) b)
(* a b)
(*.f64 a b)
(* (pow a 2) (pow b 2))
(*.f64 (*.f64 a b) (*.f64 a b))
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(pow a 2)
(*.f64 a a)
(* -1 (* a (pow b 2)))
(*.f64 (*.f64 a b) (neg.f64 b))
(* -1 b)
(neg.f64 b)

rewrite40.0ms (1.6%)

Memory
-4.7MiB live, 40.4MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01573
02876
16264
216658
061058
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
13 → 350
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)
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
(*.f64 (*.f64 (*.f64 b a) a) b)
(*.f64 (*.f64 b a) a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (neg.f64 b) a) b)
Outputs
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.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 a b) b)) 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 (neg.f64 b) b) (*.f64 a 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 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.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 a b) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.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 a b) b)) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 (*.f64 a b) b)))
(*.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 (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.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 a b) b)) 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 (neg.f64 b) b) (*.f64 a 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 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.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 a b) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.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 (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.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 a b) b)) 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 (neg.f64 b) b) (*.f64 a 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 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.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 a b) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.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 (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.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 a b) b)) 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 (neg.f64 b) b) (*.f64 a 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 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.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 a b) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.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 (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.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 a b) b)) 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 (neg.f64 b) b) (*.f64 a 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 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.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 a b) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.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 (*.f64 (*.f64 a (neg.f64 b)) (fabs.f64 b)) a)
(*.f64 (*.f64 (*.f64 a a) (fabs.f64 b)) (fabs.f64 b))
(*.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 a b) b)) 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 (neg.f64 b) b) (*.f64 a 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 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a (neg.f64 b)) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) b) a)
(*.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 a b) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.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) a)
(*.f64 (fabs.f64 b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 b b) (neg.f64 a))
(*.f64 (neg.f64 a) (*.f64 b b))
(*.f64 (*.f64 a b) (neg.f64 b))
(*.f64 (*.f64 a (neg.f64 b)) b)
(*.f64 a (*.f64 (neg.f64 b) b))
(*.f64 (neg.f64 b) (*.f64 a b))
(*.f64 b (*.f64 a (neg.f64 b)))
(neg.f64 (*.f64 (*.f64 a b) b))

eval25.0ms (1%)

Memory
3.6MiB live, 49.4MiB allocated; 3ms collecting garbage
Compiler

Compiled 2 386 to 461 computations (80.7% saved)

prune29.0ms (1.1%)

Memory
12.5MiB live, 57.7MiB allocated; 3ms collecting garbage
Pruning

11 alts after pruning (5 fresh and 6 done)

PrunedKeptTotal
New2362238
Fresh134
Picked055
Done011
Total23711248
Accuracy
100.0%
Counts
248 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.1%
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
94.3%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
29.0%
(*.f64 (*.f64 (*.f64 b a) b) a)
78.4%
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
94.2%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a)))
99.7%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
29.3%
(*.f64 (*.f64 b (*.f64 a a)) b)
28.9%
(*.f64 (*.f64 b b) (*.f64 a a))
29.0%
(*.f64 (*.f64 b a) (*.f64 b a))
95.8%
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
84.6%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 134 to 97 computations (27.6% saved)

simplify39.0ms (1.5%)

Memory
-29.5MiB live, 26.2MiB allocated; 22ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) b)
cost-diff0
(*.f64 (*.f64 (neg.f64 b) b) a)
cost-diff0
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
cost-diff0
(*.f64 a a)
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) b)
cost-diff0
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
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 b)
cost-diff0
(*.f64 (*.f64 b b) (*.f64 a a))
cost-diff0
(*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff0
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020120
038120
172120
2207120
3713120
41099120
51174120
61243120
71243120
01243120
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(sqrt.f64 (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) b)
(*.f64 a b)
(sqrt.f64 a)
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
b
(*.f64 a a)
a
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 b a) b)
(*.f64 b a)
b
a
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (neg.f64 b) b)
(neg.f64 b)
b
(*.f64 a a)
a
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) a)
(*.f64 (neg.f64 b) b)
(neg.f64 b)
b
a
Outputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 a)) (sqrt.f64 (*.f64 (*.f64 a b) b)))
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(neg.f64 b)
b
a
(*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 (*.f64 a b) b)))
(sqrt.f64 (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) b)
(*.f64 a b)
(sqrt.f64 a)
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 b b)
b
(*.f64 a a)
a
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 b a) b)
(*.f64 (*.f64 a b) b)
(*.f64 b a)
(*.f64 a b)
b
a
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b))
(*.f64 (neg.f64 b) b)
(neg.f64 b)
b
(*.f64 a a)
a
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(*.f64 (*.f64 (neg.f64 a) a) (*.f64 b b))
(*.f64 (*.f64 (neg.f64 b) b) a)
(*.f64 (neg.f64 b) b)
(neg.f64 b)
b
a

localize81.0ms (3.2%)

Memory
18.3MiB live, 64.2MiB allocated; 3ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (neg.f64 b) b)
accuracy0.0
(neg.f64 b)
accuracy3.5988406308011722
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
accuracy6.410272250815155
(*.f64 (*.f64 (neg.f64 b) b) a)
accuracy0.0
(*.f64 (neg.f64 b) b)
accuracy0.0
(*.f64 a a)
accuracy0.0
(neg.f64 b)
accuracy13.781739253152546
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
accuracy0.0
(*.f64 b a)
accuracy0.1328125
(*.f64 (*.f64 b a) b)
accuracy3.5988406308011722
(*.f64 (*.f64 (*.f64 b a) b) a)
accuracy0.0
(*.f64 b b)
accuracy0.0
(*.f64 a a)
accuracy13.610125650305514
(*.f64 (*.f64 b b) (*.f64 a a))
accuracy0.1328125
(*.f64 (*.f64 a b) b)
accuracy0.178066259768442
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a)))
accuracy0.217128759768442
(*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
accuracy21.83880982411846
(sqrt.f64 (*.f64 (*.f64 a b) b))
Samples
67.0ms256×0valid
Compiler

Compiled 122 to 22 computations (82% saved)

Precisions
Click to see histograms. Total time spent on operations: 54.0ms
ival-mult: 49.0ms (91% of total)
ival-sqrt: 3.0ms (5.6% of total)
ival-neg: 1.0ms (1.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series18.0ms (0.7%)

Memory
-23.0MiB live, 21.1MiB allocated; 5ms collecting garbage
Counts
16 → 15
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
(*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
(*.f64 a a)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 b a) b)
(*.f64 b a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (neg.f64 b) b)
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) a)
(sqrt.f64 (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) b)
Outputs
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* a b))
(* a b)
(* (pow a 2) (pow b 2))
(pow a 2)
(* a (pow b 2))
(* -1 (* a (pow b 2)))
(* (sqrt a) b)
(* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))
(* -1 (* a (* b (pow (sqrt -1) 2))))
(* -1 (* (sqrt a) (* b (pow (sqrt -1) 2))))
(* -1 b)
(pow b 2)
(* -1 (pow b 2))
(* -1 (* (sqrt a) b))
Calls

6 calls:

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

simplify22.0ms (0.9%)

Memory
19.4MiB live, 19.4MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02669
16869
218869
067269
Stop Event
iter limit
iter limit
iter limit
unsound
Counts
15 → 15
Calls
Call 1
Inputs
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* a b))
(* a b)
(* (pow a 2) (pow b 2))
(pow a 2)
(* a (pow b 2))
(* -1 (* a (pow b 2)))
(* (sqrt a) b)
(* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))
(* -1 (* a (* b (pow (sqrt -1) 2))))
(* -1 (* (sqrt a) (* b (pow (sqrt -1) 2))))
(* -1 b)
(pow b 2)
(* -1 (pow b 2))
(* -1 (* (sqrt a) b))
Outputs
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(* -1 (* a b))
(*.f64 (neg.f64 a) b)
(* a b)
(*.f64 a b)
(* (pow a 2) (pow b 2))
(*.f64 (*.f64 (*.f64 a b) a) b)
(pow a 2)
(*.f64 a a)
(* a (pow b 2))
(*.f64 (*.f64 a b) b)
(* -1 (* a (pow b 2)))
(*.f64 (*.f64 (neg.f64 b) b) a)
(* (sqrt a) b)
(*.f64 (sqrt.f64 a) b)
(* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(* -1 (* a (* b (pow (sqrt -1) 2))))
(*.f64 a b)
(* -1 (* (sqrt a) (* b (pow (sqrt -1) 2))))
(*.f64 (sqrt.f64 a) b)
(* -1 b)
(neg.f64 b)
(pow b 2)
(*.f64 b b)
(* -1 (pow b 2))
(*.f64 (neg.f64 b) b)
(* -1 (* (sqrt a) b))
(*.f64 (neg.f64 b) (sqrt.f64 a))

rewrite67.0ms (2.6%)

Memory
19.0MiB live, 63.1MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02094
038117
18388
227165
0131465
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
16 → 570
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
(*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 b b)
(*.f64 a a)
(*.f64 (*.f64 (*.f64 b a) b) a)
(*.f64 (*.f64 b a) b)
(*.f64 b a)
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
(*.f64 (neg.f64 b) b)
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(*.f64 (*.f64 (neg.f64 b) b) a)
(sqrt.f64 (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) b)
Outputs
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 (*.f64 a b))) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 a)) b)
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (pow.f64 a #s(literal 1/4 binary64))) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b)))) (sqrt.f64 b))
(*.f64 (*.f64 (sqrt.f64 a) (neg.f64 b)) (*.f64 (*.f64 (sqrt.f64 a) a) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 b (*.f64 (sqrt.f64 a) a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 (*.f64 a b) (neg.f64 a)) b)
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)) a)
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a (neg.f64 b))))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) a) (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a b)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 (neg.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 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 b (*.f64 (neg.f64 a) (*.f64 a b)))
(*.f64 b (*.f64 (*.f64 a b) a))
(pow.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (neg.f64 a) (neg.f64 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 (fma.f64 (log.f64 a) #s(literal 2 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) (*.f64 (log.f64 a) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(*.f64 (neg.f64 a) 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 (*.f64 (sqrt.f64 a) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (pow.f64 a #s(literal 1/4 binary64))) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))))
(*.f64 (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (pow.f64 a #s(literal 1/4 binary64))) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (pow.f64 a #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a b))) (neg.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (fabs.f64 (sqrt.f64 (*.f64 a b))) (fabs.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (sqrt.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (sqrt.f64 (neg.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (sqrt.f64 (*.f64 a (neg.f64 b))) (sqrt.f64 (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 (neg.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (pow.f64 (*.f64 (neg.f64 a) (neg.f64 b)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (neg.f64 a) (neg.f64 b)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (neg.f64 a) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 a) b))
(*.f64 (pow.f64 (*.f64 a (neg.f64 b)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 a (neg.f64 b)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 b) a) (pow.f64 (neg.f64 b) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b))
(*.f64 (pow.f64 (neg.f64 b) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 b) a))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (sqrt.f64 a)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 (neg.f64 a)))
(*.f64 (*.f64 (sqrt.f64 a) b) (pow.f64 (neg.f64 a) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 a b)
(*.f64 b a)
(pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 2 binary64))
(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))
(sqrt.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(fabs.f64 (*.f64 (neg.f64 a) (neg.f64 b)))
(fabs.f64 (*.f64 a b))
(fabs.f64 (*.f64 a (neg.f64 b)))
(exp.f64 (fma.f64 (log.f64 a) #s(literal 1/2 binary64) (*.f64 (log.f64 (*.f64 (*.f64 a b) b)) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (log.f64 (*.f64 (*.f64 a b) b)) #s(literal 1/2 binary64) (*.f64 (log.f64 a) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 (*.f64 a b))) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 a)) b)
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (pow.f64 a #s(literal 1/4 binary64))) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b)))) (sqrt.f64 b))
(*.f64 (*.f64 (sqrt.f64 a) (neg.f64 b)) (*.f64 (*.f64 (sqrt.f64 a) a) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 b (*.f64 (sqrt.f64 a) a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 (*.f64 a b) (neg.f64 a)) b)
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)) a)
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a (neg.f64 b))))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) a) (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a b)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 (neg.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 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 b (*.f64 (neg.f64 a) (*.f64 a b)))
(*.f64 b (*.f64 (*.f64 a b) a))
(pow.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (neg.f64 a) (neg.f64 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 (fma.f64 (log.f64 a) #s(literal 2 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) (*.f64 (log.f64 a) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(*.f64 (exp.f64 (log.f64 b)) (exp.f64 (log.f64 b)))
(*.f64 (neg.f64 b) (neg.f64 b))
(*.f64 (neg.f64 b) b)
(*.f64 b (neg.f64 b))
(*.f64 b b)
(pow.f64 (exp.f64 (log.f64 b)) #s(literal 2 binary64))
(pow.f64 (*.f64 b b) #s(literal 1 binary64))
(pow.f64 (neg.f64 b) #s(literal 2 binary64))
(pow.f64 b #s(literal 2 binary64))
(neg.f64 (*.f64 b b))
(sqrt.f64 (*.f64 (*.f64 b b) (*.f64 b b)))
(fabs.f64 (*.f64 b b))
(exp.f64 (*.f64 (log.f64 (neg.f64 b)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 b) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 b) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 b) #s(literal 2 binary64))))
(*.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 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 (*.f64 a b))) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 a)) b)
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (pow.f64 a #s(literal 1/4 binary64))) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b)))) (sqrt.f64 b))
(*.f64 (*.f64 (sqrt.f64 a) (neg.f64 b)) (*.f64 (*.f64 (sqrt.f64 a) a) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 b (*.f64 (sqrt.f64 a) a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 (*.f64 a b) (neg.f64 a)) b)
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)) a)
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a (neg.f64 b))))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) a) (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a b)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 (neg.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 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 b (*.f64 (neg.f64 a) (*.f64 a b)))
(*.f64 b (*.f64 (*.f64 a b) a))
(pow.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (neg.f64 a) (neg.f64 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 (fma.f64 (log.f64 a) #s(literal 2 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) (*.f64 (log.f64 a) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(*.f64 (*.f64 (neg.f64 b) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) b)
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (neg.f64 b)))
(*.f64 (neg.f64 a) (*.f64 b b))
(*.f64 (*.f64 a b) (neg.f64 b))
(*.f64 (*.f64 a b) b)
(*.f64 (*.f64 b b) (neg.f64 a))
(*.f64 (*.f64 b b) a)
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 a (neg.f64 b)) b)
(*.f64 a (*.f64 b b))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (neg.f64 b) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 a (neg.f64 b)))
(*.f64 b (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 b (*.f64 a b))
(*.f64 b (*.f64 a (neg.f64 b)))
(neg.f64 (*.f64 (*.f64 a b) b))
(fabs.f64 (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 (sqrt.f64 a) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (pow.f64 a #s(literal 1/4 binary64))) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))))
(*.f64 (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (pow.f64 a #s(literal 1/4 binary64))) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (pow.f64 a #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a b))) (neg.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (fabs.f64 (sqrt.f64 (*.f64 a b))) (fabs.f64 (sqrt.f64 (*.f64 a b))))
(*.f64 (sqrt.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (sqrt.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (sqrt.f64 (neg.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (sqrt.f64 (*.f64 a (neg.f64 b))) (sqrt.f64 (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 (neg.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (pow.f64 (*.f64 (neg.f64 a) (neg.f64 b)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (neg.f64 a) (neg.f64 b)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (neg.f64 a) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 a) b))
(*.f64 (pow.f64 (*.f64 a (neg.f64 b)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 a (neg.f64 b)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 b) a) (pow.f64 (neg.f64 b) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b))
(*.f64 (pow.f64 (neg.f64 b) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 b) a))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (sqrt.f64 a)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 (neg.f64 a)))
(*.f64 (*.f64 (sqrt.f64 a) b) (pow.f64 (neg.f64 a) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 a b)
(*.f64 b a)
(pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 2 binary64))
(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))
(sqrt.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)))
(fabs.f64 (*.f64 (neg.f64 a) (neg.f64 b)))
(fabs.f64 (*.f64 a b))
(fabs.f64 (*.f64 a (neg.f64 b)))
(exp.f64 (fma.f64 (log.f64 a) #s(literal 1/2 binary64) (*.f64 (log.f64 (*.f64 (*.f64 a b) b)) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (log.f64 (*.f64 (*.f64 a b) b)) #s(literal 1/2 binary64) (*.f64 (log.f64 a) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 (*.f64 a b))) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 a)) b)
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (pow.f64 a #s(literal 1/4 binary64))) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b)))) (sqrt.f64 b))
(*.f64 (*.f64 (sqrt.f64 a) (neg.f64 b)) (*.f64 (*.f64 (sqrt.f64 a) a) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 b (*.f64 (sqrt.f64 a) a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 (*.f64 a b) (neg.f64 a)) b)
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)) a)
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a (neg.f64 b))))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) a) (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a b)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 (neg.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 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 b (*.f64 (neg.f64 a) (*.f64 a b)))
(*.f64 b (*.f64 (*.f64 a b) a))
(pow.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (neg.f64 a) (neg.f64 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 (fma.f64 (log.f64 a) #s(literal 2 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) (*.f64 (log.f64 a) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(*.f64 (exp.f64 (log.f64 b)) (exp.f64 (log.f64 b)))
(*.f64 (neg.f64 b) (neg.f64 b))
(*.f64 (neg.f64 b) b)
(*.f64 b (neg.f64 b))
(*.f64 b b)
(pow.f64 (exp.f64 (log.f64 b)) #s(literal 2 binary64))
(pow.f64 (*.f64 b b) #s(literal 1 binary64))
(pow.f64 (neg.f64 b) #s(literal 2 binary64))
(pow.f64 b #s(literal 2 binary64))
(neg.f64 (*.f64 b b))
(sqrt.f64 (*.f64 (*.f64 b b) (*.f64 b b)))
(fabs.f64 (*.f64 b b))
(exp.f64 (*.f64 (log.f64 (neg.f64 b)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 b) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 b) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 b) #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 (*.f64 a b))) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (sqrt.f64 a)) b)
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (pow.f64 a #s(literal 1/4 binary64))) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b)))) (sqrt.f64 b))
(*.f64 (*.f64 (sqrt.f64 a) (neg.f64 b)) (*.f64 (*.f64 (sqrt.f64 a) a) b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a (neg.f64 b)) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 b (*.f64 (sqrt.f64 a) a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 (*.f64 a b) (neg.f64 a)) b)
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)) a)
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a (neg.f64 b))))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) a) (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 (*.f64 (neg.f64 a) (neg.f64 b))))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (*.f64 a (neg.f64 b)))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 a b)))
(*.f64 (*.f64 (*.f64 a b) a) (neg.f64 b))
(*.f64 (*.f64 (*.f64 a b) a) b)
(*.f64 (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)) (sqrt.f64 a))
(*.f64 (neg.f64 a) (*.f64 (*.f64 a b) b))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a b) (*.f64 a (neg.f64 b)))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) (*.f64 (sqrt.f64 a) b)))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (*.f64 a b) b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (*.f64 (sqrt.f64 a) a) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a b) b) (neg.f64 a))
(*.f64 (*.f64 (*.f64 a b) b) a)
(*.f64 (*.f64 a (neg.f64 b)) (*.f64 (neg.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 (*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) b)))
(*.f64 a (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 b (*.f64 (neg.f64 a) (*.f64 a b)))
(*.f64 b (*.f64 (*.f64 a b) a))
(pow.f64 (*.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (neg.f64 a) (neg.f64 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 (fma.f64 (log.f64 a) #s(literal 2 binary64) (*.f64 (log.f64 b) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 b) #s(literal 2 binary64) (*.f64 (log.f64 a) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 2 binary64)))
(*.f64 (*.f64 (neg.f64 b) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) b)
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (neg.f64 b)))
(*.f64 (neg.f64 a) (*.f64 b b))
(*.f64 (*.f64 a b) (neg.f64 b))
(*.f64 (*.f64 a b) b)
(*.f64 (*.f64 b b) (neg.f64 a))
(*.f64 (*.f64 b b) a)
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 a (neg.f64 b)) b)
(*.f64 a (*.f64 b b))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (neg.f64 b) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 a (neg.f64 b)))
(*.f64 b (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 b (*.f64 a b))
(*.f64 b (*.f64 a (neg.f64 b)))
(neg.f64 (*.f64 (*.f64 a b) b))
(fabs.f64 (*.f64 (*.f64 a b) b))
(*.f64 (neg.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (*.f64 a (neg.f64 b))) (sqrt.f64 (neg.f64 b)))
(*.f64 (sqrt.f64 (neg.f64 b)) (sqrt.f64 (*.f64 a (neg.f64 b))))
(*.f64 (pow.f64 (*.f64 a (neg.f64 b)) #s(literal 1/2 binary64)) (pow.f64 (neg.f64 b) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (neg.f64 b) #s(literal 1/2 binary64)) (pow.f64 (*.f64 a (neg.f64 b)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) b))
(*.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 b))
(*.f64 (sqrt.f64 b) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 a) b)
(*.f64 b (sqrt.f64 a))
(pow.f64 (exp.f64 (log.f64 (*.f64 (*.f64 a b) b))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 (*.f64 a b) b) (*.f64 (*.f64 a b) b)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (*.f64 a b) b))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 a b) b)) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 (*.f64 a b) b)) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 (*.f64 a b) b)) #s(literal 1/2 binary64))))
(*.f64 (*.f64 (neg.f64 b) (*.f64 (sqrt.f64 b) a)) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 b)) (*.f64 (sqrt.f64 b) a))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (sqrt.f64 b) a) (*.f64 (sqrt.f64 b) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (neg.f64 a) (neg.f64 b)) b)
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (sqrt.f64 b) a) (neg.f64 b)))
(*.f64 (neg.f64 a) (*.f64 b b))
(*.f64 (*.f64 a b) (neg.f64 b))
(*.f64 (*.f64 a b) b)
(*.f64 (*.f64 b b) (neg.f64 a))
(*.f64 (*.f64 b b) a)
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (sqrt.f64 a) b) (neg.f64 b)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (neg.f64 b)))
(*.f64 (*.f64 a (neg.f64 b)) (neg.f64 b))
(*.f64 (*.f64 a (neg.f64 b)) b)
(*.f64 a (*.f64 b b))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 (neg.f64 b) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 a (neg.f64 b)))
(*.f64 b (*.f64 (neg.f64 a) (neg.f64 b)))
(*.f64 b (*.f64 a b))
(*.f64 b (*.f64 a (neg.f64 b)))
(neg.f64 (*.f64 (*.f64 a b) b))
(fabs.f64 (*.f64 (*.f64 a b) b))

eval28.0ms (1.1%)

Memory
-19.8MiB live, 32.7MiB allocated; 6ms collecting garbage
Compiler

Compiled 2 688 to 493 computations (81.7% saved)

prune21.0ms (0.8%)

Memory
-18.9MiB live, 27.8MiB allocated; 1ms collecting garbage
Pruning

15 alts after pruning (6 fresh and 9 done)

PrunedKeptTotal
New2166222
Fresh000
Picked235
Done066
Total21815233
Accuracy
100.0%
Counts
233 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.2%
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
84.1%
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
94.3%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
28.9%
(*.f64 (*.f64 (*.f64 b b) a) a)
78.4%
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
94.1%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (sqrt.f64 a))))
99.5%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))))
99.7%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b)))
99.6%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
99.7%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
29.3%
(*.f64 (*.f64 b (*.f64 a a)) b)
28.9%
(*.f64 (*.f64 b b) (*.f64 a a))
29.0%
(*.f64 (*.f64 b a) (*.f64 b a))
95.8%
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
84.6%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 239 to 154 computations (35.6% saved)

simplify117.0ms (4.6%)

Memory
27.4MiB live, 73.2MiB allocated; 2ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff1
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))
cost-diff1
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))))
cost-diff8
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b)))
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b)))
cost-diff1
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
cost-diff6
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
cost-diff0
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff1
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
cost-diff4
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.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
(neg.f64 b)
cost-diff0
(*.f64 (neg.f64 b) a)
cost-diff1
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b)))
cost-diff4
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
025182
047174
196168
2298136
31071135
42662130
53626130
63939130
74704130
86898130
08024130
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b))
(*.f64 (sqrt.f64 b) a)
(sqrt.f64 b)
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) a)
(*.f64 b b)
b
a
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) b)
(sqrt.f64 a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b)))
(neg.f64 b)
b
(sqrt.f64 (*.f64 a b))
(*.f64 a b)
a
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
b
a
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b)))
(pow.f64 a #s(literal 1/4 binary64))
#s(literal 1/4 binary64)
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))
(*.f64 (sqrt.f64 a) b)
(sqrt.f64 a)
Outputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) 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 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b))
(*.f64 a b)
(*.f64 (sqrt.f64 b) a)
(sqrt.f64 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 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
(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) b) (sqrt.f64 a))
(*.f64 a b)
(*.f64 (sqrt.f64 a) b)
(sqrt.f64 a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
(neg.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) #s(literal 4 binary64)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 a (neg.f64 b)) b)
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b)))
(*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b))
(neg.f64 b)
b
(sqrt.f64 (*.f64 a b))
(*.f64 a b)
a
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.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 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b)))
(*.f64 a b)
(pow.f64 a #s(literal 1/4 binary64))
#s(literal 1/4 binary64)
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))
(*.f64 (pow.f64 (pow.f64 a #s(literal 1/4 binary64)) #s(literal 3 binary64)) b)
(*.f64 (sqrt.f64 a) b)
(sqrt.f64 a)

localize81.0ms (3.1%)

Memory
-11.9MiB live, 81.2MiB allocated; 10ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.178066259768442
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))))
accuracy0.203125
(*.f64 (sqrt.f64 a) b)
accuracy0.25
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b)))
accuracy0.27962875976844204
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))
accuracy0.15625
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b)))
accuracy0.19921875
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
accuracy3.5988406308011722
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
accuracy16.415391475799517
(sqrt.f64 (*.f64 a b))
accuracy0.0
(neg.f64 b)
accuracy0.178066259768442
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
accuracy0.203125
(*.f64 (sqrt.f64 a) b)
accuracy0.217128759768442
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
accuracy0.0
(*.f64 b b)
accuracy3.5988406308011722
(*.f64 (*.f64 (*.f64 b b) a) a)
accuracy6.410272250815155
(*.f64 (*.f64 b b) a)
accuracy0.0
(neg.f64 b)
accuracy0.178066259768442
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b)))
accuracy0.19921875
(*.f64 (sqrt.f64 b) a)
accuracy0.2578125
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b))
Samples
62.0ms256×0valid
Compiler

Compiled 184 to 27 computations (85.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 39.0ms
ival-mult: 26.0ms (65.9% of total)
ival-sqrt: 5.0ms (12.7% of total)
ival-pow: 5.0ms (12.7% of total)
ival-neg: 3.0ms (7.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series132.0ms (5.1%)

Memory
14.1MiB live, 147.4MiB allocated; 16ms collecting garbage
Counts
18 → 21
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) a)
(*.f64 b b)
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))
(*.f64 (sqrt.f64 b) a)
(*.f64 (sqrt.f64 a) b)
(sqrt.f64 (*.f64 a b))
Outputs
(* a b)
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* a b))
(* (pow a 2) (pow b 2))
(* a (pow b 2))
(* -1 (* a (pow b 2)))
(* -1 (sqrt (* a (pow b 3))))
(* (pow (* 1 (pow a 3)) 1/4) b)
(* a (sqrt b))
(* (sqrt a) b)
(sqrt (* a b))
(* -1 (* a (* b (pow (sqrt -1) 2))))
(* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))
(* a (* (pow b 2) (pow (sqrt -1) 2)))
(* (sqrt (* a (pow b 3))) (pow (sqrt -1) 2))
(* b (* (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 a)))))) (sqrt -1)))
(* -1 (* (sqrt a) (* b (pow (sqrt -1) 2))))
(* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))
(* -1 b)
(pow b 2)
(* -1 (* (* a (pow (sqrt -1) 2)) (sqrt b)))
Calls

6 calls:

TimeVariablePointExpression
41.0ms
b
@0
((* (* (sqrt b) a) (sqrt b)) (* (* (neg b) a) (* (* (sqrt b) a) (sqrt b))) (* (neg b) a) (neg b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (sqrt a) b) (sqrt a)) (* (* (neg b) a) (* (* (sqrt a) b) (sqrt a))) (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) (* (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) a) (* (neg b) (sqrt (* a b))) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b))) (* (* (neg b) a) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b)))) (* (pow a 1/4) (* (sqrt a) b)) (* (sqrt b) a) (* (sqrt a) b) (sqrt (* a b)))
32.0ms
a
@0
((* (* (sqrt b) a) (sqrt b)) (* (* (neg b) a) (* (* (sqrt b) a) (sqrt b))) (* (neg b) a) (neg b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (sqrt a) b) (sqrt a)) (* (* (neg b) a) (* (* (sqrt a) b) (sqrt a))) (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) (* (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) a) (* (neg b) (sqrt (* a b))) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b))) (* (* (neg b) a) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b)))) (* (pow a 1/4) (* (sqrt a) b)) (* (sqrt b) a) (* (sqrt a) b) (sqrt (* a b)))
23.0ms
a
@-inf
((* (* (sqrt b) a) (sqrt b)) (* (* (neg b) a) (* (* (sqrt b) a) (sqrt b))) (* (neg b) a) (neg b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (sqrt a) b) (sqrt a)) (* (* (neg b) a) (* (* (sqrt a) b) (sqrt a))) (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) (* (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) a) (* (neg b) (sqrt (* a b))) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b))) (* (* (neg b) a) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b)))) (* (pow a 1/4) (* (sqrt a) b)) (* (sqrt b) a) (* (sqrt a) b) (sqrt (* a b)))
13.0ms
b
@inf
((* (* (sqrt b) a) (sqrt b)) (* (* (neg b) a) (* (* (sqrt b) a) (sqrt b))) (* (neg b) a) (neg b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (sqrt a) b) (sqrt a)) (* (* (neg b) a) (* (* (sqrt a) b) (sqrt a))) (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) (* (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) a) (* (neg b) (sqrt (* a b))) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b))) (* (* (neg b) a) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b)))) (* (pow a 1/4) (* (sqrt a) b)) (* (sqrt b) a) (* (sqrt a) b) (sqrt (* a b)))
12.0ms
b
@-inf
((* (* (sqrt b) a) (sqrt b)) (* (* (neg b) a) (* (* (sqrt b) a) (sqrt b))) (* (neg b) a) (neg b) (* (* (* b b) a) a) (* (* b b) a) (* b b) (* (* (sqrt a) b) (sqrt a)) (* (* (neg b) a) (* (* (sqrt a) b) (sqrt a))) (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) (* (* (* (neg b) (sqrt (* a b))) (sqrt (* a b))) a) (* (neg b) (sqrt (* a b))) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b))) (* (* (neg b) a) (* (pow a 1/4) (* (pow a 1/4) (* (sqrt a) b)))) (* (pow a 1/4) (* (sqrt a) b)) (* (sqrt b) a) (* (sqrt a) b) (sqrt (* a b)))

simplify57.0ms (2.2%)

Memory
-8.7MiB live, 40.7MiB allocated; 13ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055117
1141117
2421114
01357114
Stop Event
iter limit
iter limit
iter limit
unsound
Counts
21 → 21
Calls
Call 1
Inputs
(* a b)
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* a b))
(* (pow a 2) (pow b 2))
(* a (pow b 2))
(* -1 (* a (pow b 2)))
(* -1 (sqrt (* a (pow b 3))))
(* (pow (* 1 (pow a 3)) 1/4) b)
(* a (sqrt b))
(* (sqrt a) b)
(sqrt (* a b))
(* -1 (* a (* b (pow (sqrt -1) 2))))
(* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))
(* a (* (pow b 2) (pow (sqrt -1) 2)))
(* (sqrt (* a (pow b 3))) (pow (sqrt -1) 2))
(* b (* (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 a)))))) (sqrt -1)))
(* -1 (* (sqrt a) (* b (pow (sqrt -1) 2))))
(* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))
(* -1 b)
(pow b 2)
(* -1 (* (* a (pow (sqrt -1) 2)) (sqrt b)))
Outputs
(* a b)
(*.f64 a b)
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b)
(* -1 (* a b))
(*.f64 (neg.f64 a) b)
(* (pow a 2) (pow b 2))
(*.f64 (*.f64 (*.f64 a a) b) b)
(* a (pow b 2))
(*.f64 (*.f64 b b) a)
(* -1 (* a (pow b 2)))
(*.f64 (*.f64 (neg.f64 b) b) a)
(* -1 (sqrt (* a (pow b 3))))
(neg.f64 (sqrt.f64 (*.f64 (pow.f64 b #s(literal 3 binary64)) a)))
(* (pow (* 1 (pow a 3)) 1/4) b)
(*.f64 (pow.f64 (pow.f64 a #s(literal 3 binary64)) #s(literal 1/4 binary64)) b)
(* a (sqrt b))
(*.f64 (sqrt.f64 b) a)
(* (sqrt a) b)
(*.f64 (sqrt.f64 a) b)
(sqrt (* a b))
(sqrt.f64 (*.f64 a b))
(* -1 (* a (* b (pow (sqrt -1) 2))))
(*.f64 a b)
(* (pow a 2) (* (pow b 2) (pow (sqrt -1) 2)))
(*.f64 (*.f64 (*.f64 (neg.f64 a) a) b) b)
(* a (* (pow b 2) (pow (sqrt -1) 2)))
(*.f64 (*.f64 (neg.f64 b) b) a)
(* (sqrt (* a (pow b 3))) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (*.f64 (pow.f64 b #s(literal 3 binary64)) a)))
(* b (* (exp (* 1/4 (+ (log -1) (* -3 (log (/ -1 a)))))) (sqrt -1)))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) b) (*.f64 (pow.f64 (/.f64 #s(literal -1 binary64) a) #s(literal -3/4 binary64)) (pow.f64 #s(literal -1 binary64) #s(literal 1/4 binary64))))
(* -1 (* (sqrt a) (* b (pow (sqrt -1) 2))))
(*.f64 (sqrt.f64 a) b)
(* -1 (* (sqrt (* a b)) (pow (sqrt -1) 2)))
(sqrt.f64 (*.f64 a b))
(* -1 b)
(neg.f64 b)
(pow b 2)
(*.f64 b b)
(* -1 (* (* a (pow (sqrt -1) 2)) (sqrt b)))
(*.f64 (sqrt.f64 b) a)

rewrite34.0ms (1.3%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
025141
047131
1110116
0392116
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
18 → 160
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b)))
(*.f64 (neg.f64 b) a)
(neg.f64 b)
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) a)
(*.f64 b b)
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))
(*.f64 (sqrt.f64 b) a)
(*.f64 (sqrt.f64 a) b)
(sqrt.f64 (*.f64 a b))
Outputs
(*.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 b)) a)
(*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 a (*.f64 (sqrt.f64 b) (sqrt.f64 b)))
(*.f64 (sqrt.f64 b) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 b)) (*.f64 a (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b)) (neg.f64 b)) a)
(*.f64 (*.f64 (*.f64 a (*.f64 a (sqrt.f64 b))) (sqrt.f64 b)) (neg.f64 b))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b)))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a (*.f64 a (sqrt.f64 b))) (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 a (sqrt.f64 b)) (*.f64 (sqrt.f64 b) (*.f64 (neg.f64 b) a)))
(*.f64 a (*.f64 (neg.f64 b) (*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b))))
(*.f64 (sqrt.f64 b) (*.f64 (*.f64 (*.f64 (neg.f64 b) a) a) (sqrt.f64 b)))
(neg.f64 (*.f64 (*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b)) (*.f64 a b)))
(neg.f64 (*.f64 (*.f64 a b) (*.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b))))
(neg.f64 (*.f64 b (*.f64 (*.f64 a (*.f64 a (sqrt.f64 b))) (sqrt.f64 b))))
(*.f64 (neg.f64 a) b)
(*.f64 (neg.f64 b) a)
(*.f64 a (neg.f64 b))
(*.f64 b (neg.f64 a))
(neg.f64 (*.f64 a b))
(neg.f64 b)
(*.f64 (*.f64 (fabs.f64 b) a) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) (*.f64 a a)))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 (*.f64 b b) a) a)
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) (*.f64 a a)))
(*.f64 a (*.f64 (*.f64 b b) a))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 b (*.f64 (*.f64 a b) a))
(*.f64 (*.f64 a (fabs.f64 b)) (fabs.f64 b))
(*.f64 (fabs.f64 b) (*.f64 (fabs.f64 b) a))
(*.f64 (*.f64 a b) b)
(*.f64 (*.f64 b b) a)
(*.f64 (*.f64 (neg.f64 b) a) (neg.f64 b))
(*.f64 (neg.f64 b) (*.f64 (neg.f64 b) a))
(*.f64 a (*.f64 b b))
(*.f64 b (*.f64 a 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 (pow.f64 a #s(literal 3/4 binary64)) b) (pow.f64 a #s(literal 1/8 binary64))) (pow.f64 a #s(literal 1/8 binary64)))
(*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (pow.f64 a #s(literal 3/4 binary64))) b)
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) b)
(*.f64 (pow.f64 a #s(literal 3/4 binary64)) (*.f64 b (pow.f64 a #s(literal 1/4 binary64))))
(*.f64 (pow.f64 a #s(literal 1/8 binary64)) (*.f64 (pow.f64 a #s(literal 1/8 binary64)) (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b)))
(*.f64 (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b))
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b))
(*.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (pow.f64 a #s(literal 3/4 binary64))) b)
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (pow.f64 a #s(literal 1/4 binary64))) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (*.f64 (sqrt.f64 a) b)) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)) (neg.f64 b)) a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b)) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a)) (neg.f64 b))
(*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (*.f64 (neg.f64 b) a)))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a)))
(*.f64 a (*.f64 (neg.f64 b) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))))
(neg.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)) (*.f64 a b)))
(neg.f64 (*.f64 (*.f64 a b) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))))
(neg.f64 (*.f64 b (*.f64 (*.f64 a (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (sqrt.f64 a)) (sqrt.f64 b))
(*.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 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b))))
(*.f64 (neg.f64 b) (*.f64 a 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 (*.f64 b b) a))
(*.f64 (*.f64 a (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b))) (sqrt.f64 (*.f64 a b)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) a) (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)))
(*.f64 (*.f64 (*.f64 a b) (neg.f64 b)) a)
(*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) (*.f64 (sqrt.f64 (*.f64 a b)) a))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b)) a))
(*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (neg.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 a b))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a b) a))
(*.f64 (neg.f64 b) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(*.f64 a (*.f64 (*.f64 a b) (neg.f64 b)))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b) (*.f64 (sqrt.f64 (*.f64 a b)) a)))
(*.f64 (*.f64 (neg.f64 b) (sqrt.f64 a)) (sqrt.f64 b))
(*.f64 (sqrt.f64 (*.f64 a b)) (neg.f64 b))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 b) (neg.f64 b)))
(*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b)))
(*.f64 b (neg.f64 (sqrt.f64 (*.f64 a b))))
(neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) b))
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b) (pow.f64 a #s(literal 1/8 binary64))) (pow.f64 a #s(literal 1/8 binary64)))
(*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (pow.f64 a #s(literal 3/4 binary64))) b)
(*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 a)) b)
(*.f64 (pow.f64 a #s(literal 3/4 binary64)) (*.f64 b (pow.f64 a #s(literal 1/4 binary64))))
(*.f64 (pow.f64 a #s(literal 1/8 binary64)) (*.f64 (pow.f64 a #s(literal 1/8 binary64)) (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b)))
(*.f64 (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b))
(*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b))
(*.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (pow.f64 a #s(literal 3/4 binary64))) b)
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (pow.f64 a #s(literal 1/4 binary64))) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (*.f64 (sqrt.f64 a) b)) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)) (neg.f64 b)) a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b)) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (*.f64 a (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a)) (neg.f64 b))
(*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)) (*.f64 (neg.f64 b) a))
(*.f64 (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (*.f64 (pow.f64 a #s(literal 3/4 binary64)) b) (*.f64 (neg.f64 b) a)))
(*.f64 (*.f64 (sqrt.f64 a) b) (*.f64 (sqrt.f64 a) (*.f64 (neg.f64 b) a)))
(*.f64 (sqrt.f64 a) (*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) (sqrt.f64 a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
(*.f64 (neg.f64 b) (*.f64 (*.f64 a (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a)))
(*.f64 a (*.f64 (neg.f64 b) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))))
(neg.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)) (*.f64 a b)))
(neg.f64 (*.f64 (*.f64 a b) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a))))
(neg.f64 (*.f64 b (*.f64 (*.f64 a (*.f64 (sqrt.f64 a) b)) (sqrt.f64 a))))
(*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) b) (sqrt.f64 a))
(*.f64 (*.f64 (*.f64 (sqrt.f64 a) b) (pow.f64 a #s(literal 1/8 binary64))) (pow.f64 a #s(literal 1/8 binary64)))
(*.f64 (pow.f64 a #s(literal 3/4 binary64)) b)
(*.f64 (pow.f64 a #s(literal 1/8 binary64)) (*.f64 (pow.f64 a #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 a) b)))
(*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (sqrt.f64 a) b) (pow.f64 a #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 a) (*.f64 b (pow.f64 a #s(literal 1/4 binary64))))
(*.f64 b (pow.f64 a #s(literal 3/4 binary64)))
(*.f64 a (sqrt.f64 b))
(*.f64 (sqrt.f64 b) a)
(*.f64 (sqrt.f64 a) b)
(*.f64 b (sqrt.f64 a))
(*.f64 (pow.f64 (*.f64 a b) #s(literal 1/4 binary64)) (pow.f64 (*.f64 a b) #s(literal 1/4 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))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 1/2 binary64)))

eval25.0ms (1%)

Memory
-8.1MiB live, 36.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 2 310 to 429 computations (81.4% saved)

prune19.0ms (0.7%)

Memory
-19.8MiB live, 26.0MiB allocated; 4ms collecting garbage
Pruning

14 alts after pruning (2 fresh and 12 done)

PrunedKeptTotal
New1722174
Fresh101
Picked235
Done099
Total17514189
Accuracy
100.0%
Counts
189 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.6%
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (pow.f64 a #s(literal 3/4 binary64))) b)
94.2%
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
84.1%
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
99.6%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
94.3%
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
28.9%
(*.f64 (*.f64 (*.f64 b b) a) a)
78.4%
(*.f64 (*.f64 (neg.f64 b) b) (*.f64 a a))
99.7%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b)))
99.7%
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
29.3%
(*.f64 (*.f64 b (*.f64 a a)) b)
28.9%
(*.f64 (*.f64 b b) (*.f64 a a))
29.0%
(*.f64 (*.f64 b a) (*.f64 b a))
95.8%
(neg.f64 (*.f64 (*.f64 (*.f64 b a) a) b))
84.6%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 339 to 154 computations (54.6% saved)

regimes24.0ms (1%)

Memory
29.0MiB live, 29.0MiB allocated; 0ms collecting garbage
Counts
20 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a 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 (neg.f64 b) b) (*.f64 a a))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) b) a)
(*.f64 (*.f64 (*.f64 (neg.f64 b) b) a) a)
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) (*.f64 (neg.f64 b) b)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 a) b) (sqrt.f64 a)))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (*.f64 (sqrt.f64 b) a) (sqrt.f64 b)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) a) (sqrt.f64 a)) (*.f64 (sqrt.f64 a) b))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (sqrt.f64 (*.f64 (*.f64 a b) b)) (sqrt.f64 a)))
(*.f64 (*.f64 (*.f64 (neg.f64 b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b))) a)
(*.f64 (*.f64 (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (neg.f64 b) a)) (pow.f64 a #s(literal 3/4 binary64))) b)
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (pow.f64 a #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 a) b))))
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (*.f64 a b) b) #s(literal 1/4 binary64)) (sqrt.f64 a))))
Outputs
(*.f64 (*.f64 (neg.f64 b) a) (*.f64 b a))
Calls

5 calls:

5.0ms
b
5.0ms
a
4.0ms
(*.f64 a a)
4.0ms
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
4.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
Results
AccuracySegmentsBranch
99.7%1(*.f64 a a)
99.7%1(*.f64 (*.f64 (*.f64 a a) b) b)
99.7%1(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
99.7%1a
99.7%1b
Compiler

Compiled 20 to 18 computations (10% saved)

regimes14.0ms (0.5%)

Memory
-30.0MiB live, 15.4MiB allocated; 3ms collecting garbage
Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a 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:

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

Compiled 20 to 18 computations (10% saved)

regimes10.0ms (0.4%)

Memory
14.1MiB live, 14.1MiB allocated; 0ms collecting garbage
Counts
6 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a 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:

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

Compiled 20 to 18 computations (10% saved)

regimes9.0ms (0.4%)

Memory
13.5MiB live, 13.5MiB allocated; 0ms collecting garbage
Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a 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
a
2.0ms
b
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
29.3%1b
29.3%1(*.f64 a a)
29.3%1(*.f64 (*.f64 (*.f64 a a) b) b)
29.3%1(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
29.3%1a
Compiler

Compiled 20 to 18 computations (10% saved)

regimes6.0ms (0.2%)

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

Total -0.1b remaining (-0.3%)

Threshold costs -0.1b (-0.3%)

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

5 calls:

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

Compiled 20 to 18 computations (10% saved)

simplify299.0ms (11.6%)

Memory
-50.8MiB live, 14.5MiB allocated; 650ms collecting garbage
Algorithm
egg-herbie
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))

derivations36.0ms (1.4%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
0623
01022
12622
29418
041418
Stop Event
fuel
iter limit
iter limit
iter limit
unsound
iter limit
Compiler

Compiled 38 to 14 computations (63.2% saved)

preprocess47.0ms (1.8%)

Memory
-41.2MiB live, 55.5MiB allocated; 18ms 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...