ab-angle->ABCF D

Time bar (total: 2.1s)

analyze0.0ms (0%)

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 11 to 7 computations (36.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-mult: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)
ival-neg: 0.0ms (0% of total)

sample909.0ms (43.9%)

Results
495.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 240.0ms
ival-mult: 188.0ms (78.3% of total)
ival-neg: 42.0ms (17.5% of total)
const: 7.0ms (2.9% of total)
backward-pass: 3.0ms (1.2% of total)
Bogosity

preprocess44.0ms (2.1%)

Algorithm
egg-herbie
Rules
568×fma-define
352×fma-define
300×sum3-define
292×fnmadd-define
280×fnmsub-define
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02134
18034
223928
349728
473928
5107028
6126228
067
1216
2605
31265
42005
52895
63815
74645
87505
99475
09475
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(neg (* (* (* a a) b) b))
Outputs
(neg (* (* (* a a) b) b))
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
Call 2
Inputs
(neg (* (* (* a a) b) b))
(neg (* (* (* (neg a) (neg a)) b) b))
(neg (* (* (* a a) (neg b)) (neg b)))
(neg (neg (* (* (* (neg a) (neg a)) b) b)))
(neg (neg (* (* (* a a) (neg b)) (neg b))))
(neg (* (* (* b b) a) a))
Outputs
(neg (* (* (* a a) b) b))
(neg (square (* a b)))
(neg (* (* (* (neg a) (neg a)) b) b))
(neg (square (* a b)))
(neg (* (* (* a a) (neg b)) (neg b)))
(neg (square (* a b)))
(neg (neg (* (* (* (neg a) (neg a)) b) b)))
(square (* a b))
(neg (neg (* (* (* a a) (neg b)) (neg b))))
(square (* a b))
(neg (* (* (* b b) a) a))
(neg (square (* a b)))
Symmetry

(abs a)

(abs b)

(sort a b)

explain81.0ms (3.9%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
390-4(1.6390182504095166e-157 1.5762290668219192e+36)(*.f64 (*.f64 a a) b)
210-3(4.2541478613683173e-175 8.632494252111272e+35)(*.f64 (*.f64 (*.f64 a a) b) b)
00-0-b
00-0-(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
00-0-a
00-0-(*.f64 a a)
Results
43.0ms512×0valid
Compiler

Compiled 66 to 20 computations (69.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 10.0ms (74.7% of total)
ival-neg: 2.0ms (14.9% of total)
const: 1.0ms (7.5% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
93.1%
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
80.1%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 21 to 13 computations (38.1% saved)

simplify21.0ms (1%)

Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 a b)
cost-diff0
(*.f64 a (*.f64 a b))
cost-diff0
(*.f64 b (*.f64 a (*.f64 a b)))
cost-diff0
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
cost-diff-64
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
cost-diff0
(*.f64 a a)
cost-diff0
(*.f64 (*.f64 a a) b)
cost-diff0
(*.f64 (*.f64 (*.f64 a a) b) b)
Rules
576×fma-define
300×sum3-define
216×fnmadd-define
182×fma-lowering-fma.f32
182×fma-lowering-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01144
13236
28536
318136
424736
532336
643336
749236
877836
997536
097536
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(neg (* (* (* a a) b) b))
(* (* (* a a) b) b)
(* (* a a) b)
(* a a)
a
b
(- 0 (* b (* a (* a b))))
0
(* b (* a (* a b)))
b
(* a (* a b))
a
(* a b)
Outputs
(neg (* (* (* a a) b) b))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a (*.f64 b b))))
(* (* (* a a) b) b)
(*.f64 a (*.f64 a (*.f64 b b)))
(* (* a a) b)
(*.f64 a (*.f64 a b))
(* a a)
(*.f64 a a)
a
b
(- 0 (* b (* a (* a b))))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a (*.f64 b b))))
0
#s(literal 0 binary64)
(* b (* a (* a b)))
(*.f64 a (*.f64 a (*.f64 b b)))
b
(* a (* a b))
(*.f64 a (*.f64 a b))
a
(* a b)
(*.f64 a b)

localize53.0ms (2.6%)

Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
accuracy100.0%
(*.f64 a b)
accuracy99.8%
(*.f64 a (*.f64 a b))
accuracy93.1%
(*.f64 b (*.f64 a (*.f64 a b)))
accuracy100.0%
(*.f64 a a)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
accuracy93.1%
(*.f64 (*.f64 (*.f64 a a) b) b)
accuracy87.4%
(*.f64 (*.f64 a a) b)
Results
39.0ms256×0valid
Compiler

Compiled 55 to 12 computations (78.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 10.0ms (79.1% of total)
ival-sub: 1.0ms (7.9% of total)
ival-neg: 1.0ms (7.9% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series11.0ms (0.5%)

Counts
8 → 180
Calls
Call 1
Inputs
#<alt (* (* (* a a) b) b)>
#<alt (* (* a a) b)>
#<alt (* a a)>
#<alt (neg (* (* (* a a) b) b))>
#<alt (- 0 (* b (* a (* a b))))>
#<alt (* b (* a (* a b)))>
#<alt (* a (* a b))>
#<alt (* a b)>
Outputs
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
Calls

45 calls:

TimeVariablePointExpression
3.0ms
a
@inf
(* (* a a) b)
1.0ms
a
@0
(* (* (* a a) b) b)
1.0ms
a
@0
(* a b)
1.0ms
b
@inf
(* (* (* a a) b) b)
1.0ms
b
@0
(* (* (* a a) b) b)

rewrite49.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
592×fma-define
336×sum3-define
218×fnmadd-define
198×fma-lowering-fma.f32
198×fma-lowering-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01139
13431
29231
320231
429931
541231
658431
766231
895231
9114931
0114931
Stop Event
iter limit
saturated
Counts
8 → 170
Calls
Call 1
Inputs
(* (* (* a a) b) b)
(* (* a a) b)
(* a a)
(neg (* (* (* a a) b) b))
(- 0 (* b (* a (* a b))))
(* b (* a (* a b)))
(* a (* a b))
(* a b)
Outputs
(+.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b))))
(-.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 a (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a b)) a #s(literal 0 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b)))
(*.f64 a (*.f64 b (*.f64 a b)))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 a (*.f64 a b)))
(*.f64 (*.f64 a (*.f64 a b)) b)
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a b)) a)
(+.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))
(exp.f64 (log.f64 (*.f64 a (*.f64 a b))))
(-.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 a (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) b #s(literal 0 binary64))
(fma.f64 b (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) a #s(literal 0 binary64))
(*.f64 a (*.f64 a b))
(*.f64 (*.f64 a a) b)
(*.f64 b (*.f64 a a))
(*.f64 (*.f64 a b) a)
(+.f64 (*.f64 a a) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a a))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 a)))
(-.f64 (*.f64 a a) #s(literal 0 binary64))
(fma.f64 a a #s(literal 0 binary64))
(pow.f64 a #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a))
(*.f64 a a)
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64))
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64))
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b))
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a)
(*.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a))
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64))
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64))
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b))
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a)
(*.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a))
(+.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b))))
(-.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 a (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a b)) a #s(literal 0 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b)))
(*.f64 a (*.f64 b (*.f64 a b)))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 a (*.f64 a b)))
(*.f64 (*.f64 a (*.f64 a b)) b)
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a b)) a)
(+.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))
(exp.f64 (log.f64 (*.f64 a (*.f64 a b))))
(-.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 a (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) b #s(literal 0 binary64))
(fma.f64 b (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) a #s(literal 0 binary64))
(*.f64 a (*.f64 a b))
(*.f64 (*.f64 a a) b)
(*.f64 b (*.f64 a a))
(*.f64 (*.f64 a b) a)
(+.f64 #s(literal 0 binary64) (*.f64 a b))
(+.f64 (*.f64 a b) #s(literal 0 binary64))
(exp.f64 (log.f64 (*.f64 a b)))
(-.f64 (*.f64 a b) #s(literal 0 binary64))
(fma.f64 a b #s(literal 0 binary64))
(fma.f64 b a #s(literal 0 binary64))
(*.f64 a b)
(*.f64 b a)

simplify33.0ms (1.6%)

Algorithm
egg-herbie
Rules
570×fma-define
280×sum3-define
214×fnmadd-define
178×fma-lowering-fma.f32
178×fma-lowering-fma.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0101068
119816
246816
3107720
4166720
5223720
6298720
7387720
8473720
9715720
10950720
11959720
0959720
Stop Event
iter limit
saturated
Counts
180 → 180
Calls
Call 1
Inputs
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
Outputs
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) a))))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 a (*.f64 a b)))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)

eval43.0ms (2.1%)

Compiler

Compiled 3249 to 240 computations (92.6% saved)

prune20.0ms (1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New3464350
Fresh000
Picked112
Done000
Total3475352
Accuracy
99.9%
Counts
352 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.1%
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
80.1%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
92.5%
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
72.3%
(neg.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
99.6%
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
Compiler

Compiled 50 to 29 computations (42% saved)

simplify32.0ms (1.6%)

Algorithm
egg-herbie
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
cost-diff-64
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
cost-diff0
(*.f64 a b)
cost-diff0
(*.f64 (*.f64 a b) a)
cost-diff0
(*.f64 (*.f64 (*.f64 a b) a) b)
cost-diff-64
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
cost-diff0
(*.f64 a b)
cost-diff0
(*.f64 b (*.f64 a b))
cost-diff0
(*.f64 (*.f64 b (*.f64 a b)) a)
cost-diff-64
(neg.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
cost-diff0
(*.f64 a a)
cost-diff0
(*.f64 b b)
cost-diff0
(*.f64 (*.f64 b b) (*.f64 a a))
cost-diff-64
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
cost-diff0
(*.f64 a b)
cost-diff0
(*.f64 (*.f64 a b) (*.f64 a b))
Rules
1064×sum3-define
1032×fma-define
386×fnmadd-define
222×fma-lowering-fma.f32
222×fma-lowering-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01567
15565
211665
316565
425165
546165
651265
760965
8172765
0172765
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(neg (* (* a b) (* a b)))
(* (* a b) (* a b))
(* a b)
a
b
(neg (* (* b b) (* a a)))
(* (* b b) (* a a))
(* b b)
b
(* a a)
a
(neg (* (* b (* a b)) a))
(* (* b (* a b)) a)
(* b (* a b))
b
(* a b)
a
(neg (* (* (* a b) a) b))
(* (* (* a b) a) b)
(* (* a b) a)
(* a b)
a
b
Outputs
(neg (* (* a b) (* a b)))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))
(* (* a b) (* a b))
(*.f64 a (*.f64 a (*.f64 b b)))
(* a b)
(*.f64 a b)
a
b
(neg (* (* b b) (* a a)))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))
(* (* b b) (* a a))
(*.f64 a (*.f64 a (*.f64 b b)))
(* b b)
(*.f64 b b)
b
(* a a)
(*.f64 a a)
a
(neg (* (* b (* a b)) a))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))
(* (* b (* a b)) a)
(*.f64 a (*.f64 a (*.f64 b b)))
(* b (* a b))
(*.f64 a (*.f64 b b))
b
(* a b)
(*.f64 a b)
a
(neg (* (* (* a b) a) b))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))
(* (* (* a b) a) b)
(*.f64 a (*.f64 a (*.f64 b b)))
(* (* a b) a)
(*.f64 a (*.f64 a b))
(* a b)
(*.f64 a b)
a
b

localize82.0ms (3.9%)

Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 a b)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
accuracy99.8%
(*.f64 (*.f64 a b) a)
accuracy93.1%
(*.f64 (*.f64 (*.f64 a b) a) b)
accuracy100.0%
(*.f64 a b)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
accuracy99.7%
(*.f64 b (*.f64 a b))
accuracy92.5%
(*.f64 (*.f64 b (*.f64 a b)) a)
accuracy100.0%
(*.f64 b b)
accuracy100.0%
(*.f64 a a)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
accuracy72.7%
(*.f64 (*.f64 b b) (*.f64 a a))
accuracy100.0%
(*.f64 a b)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
accuracy99.6%
(*.f64 (*.f64 a b) (*.f64 a b))
Results
60.0ms256×0valid
Compiler

Compiled 96 to 16 computations (83.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 15.0ms (74.6% of total)
ival-neg: 4.0ms (19.9% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series9.0ms (0.4%)

Counts
13 → 288
Calls
Call 1
Inputs
#<alt (* (* a b) (* a b))>
#<alt (* a b)>
#<alt (neg (* (* a b) (* a b)))>
#<alt (* (* b b) (* a a))>
#<alt (* b b)>
#<alt (* a a)>
#<alt (neg (* (* b b) (* a a)))>
#<alt (* (* b (* a b)) a)>
#<alt (* b (* a b))>
#<alt (neg (* (* b (* a b)) a))>
#<alt (* (* (* a b) a) b)>
#<alt (* (* a b) a)>
#<alt (neg (* (* (* a b) a) b))>
Outputs
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (pow a 2)>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* (pow a 2) b)>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
Calls

72 calls:

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

rewrite45.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1100×sum3-define
1048×fma-define
388×fnmadd-define
238×fma-lowering-fma.f32
238×fma-lowering-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01553
15951
212851
319551
432051
558651
668451
778751
8190551
0190551
Stop Event
iter limit
saturated
Counts
13 → 332
Calls
Call 1
Inputs
(* (* a b) (* a b))
(* a b)
(neg (* (* a b) (* a b)))
(* (* b b) (* a a))
(* b b)
(* a a)
(neg (* (* b b) (* a a)))
(* (* b (* a b)) a)
(* b (* a b))
(neg (* (* b (* a b)) a))
(* (* (* a b) a) b)
(* (* a b) a)
(neg (* (* (* a b) a) b))
Outputs
(+.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b))))
(-.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 a (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b b)) a #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 a (*.f64 a b)))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a (*.f64 b b)) a)
(*.f64 (*.f64 a (*.f64 a b)) b)
(+.f64 (*.f64 a b) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a b))
(exp.f64 (log.f64 (*.f64 a b)))
(-.f64 (*.f64 a b) #s(literal 0 binary64))
(fma.f64 a b #s(literal 0 binary64))
(fma.f64 b a #s(literal 0 binary64))
(*.f64 a b)
(*.f64 b a)
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) #s(literal 0 binary64))
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b))))
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))))
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)))
(*.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)))
(*.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a))
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b))
(*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a))
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a)
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)))
(+.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b))))
(-.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 a (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b b)) a #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 a (*.f64 a b)))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a (*.f64 b b)) a)
(*.f64 (*.f64 a (*.f64 a b)) b)
(+.f64 (*.f64 b b) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b b))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 b)))
(-.f64 (*.f64 b b) #s(literal 0 binary64))
(fma.f64 b b #s(literal 0 binary64))
(pow.f64 b #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 b))
(*.f64 b b)
(+.f64 (*.f64 a a) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a a))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 a)))
(-.f64 (*.f64 a a) #s(literal 0 binary64))
(fma.f64 a a #s(literal 0 binary64))
(pow.f64 a #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a))
(*.f64 a a)
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) #s(literal 0 binary64))
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b))))
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))))
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)))
(*.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)))
(*.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a))
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b))
(*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a))
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a)
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)))
(+.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b))))
(-.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 a (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b b)) a #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 a (*.f64 a b)))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a (*.f64 b b)) a)
(*.f64 (*.f64 a (*.f64 a b)) b)
(+.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)))
(exp.f64 (log.f64 (*.f64 a (*.f64 b b))))
(-.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 a (*.f64 b b) #s(literal 0 binary64))
(fma.f64 b (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) b #s(literal 0 binary64))
(fma.f64 (*.f64 b b) a #s(literal 0 binary64))
(*.f64 a (*.f64 b b))
(*.f64 b (*.f64 a b))
(*.f64 (*.f64 a b) b)
(*.f64 (*.f64 b b) a)
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) #s(literal 0 binary64))
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b))))
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))))
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)))
(*.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)))
(*.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a))
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b))
(*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a))
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a)
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)))
(+.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b))))
(-.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 a (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b b)) a #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 a (*.f64 a b)))
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a (*.f64 b b)) a)
(*.f64 (*.f64 a (*.f64 a b)) b)
(+.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)))
(exp.f64 (log.f64 (*.f64 a (*.f64 a b))))
(-.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 a (*.f64 a b) #s(literal 0 binary64))
(fma.f64 b (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) a #s(literal 0 binary64))
(fma.f64 (*.f64 a a) b #s(literal 0 binary64))
(*.f64 a (*.f64 a b))
(*.f64 b (*.f64 a a))
(*.f64 (*.f64 a b) a)
(*.f64 (*.f64 a a) b)
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) #s(literal 0 binary64))
(fma.f64 b #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b)))))
(fma.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)) #s(literal 0 binary64))
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b))))
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))))
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a b) (*.f64 a (-.f64 #s(literal 0 binary64) b)))
(*.f64 (*.f64 b (*.f64 a (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 (*.f64 a a) (*.f64 b (-.f64 #s(literal 0 binary64) b)))
(*.f64 (*.f64 a (*.f64 b b)) (-.f64 #s(literal 0 binary64) a))
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b))
(*.f64 #s(literal -1 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) b)) (*.f64 a a))
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) b)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) b))) a)
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 a (*.f64 b b)))

simplify76.0ms (3.7%)

Algorithm
egg-herbie
Rules
570×fma-define
280×sum3-define
214×fnmadd-define
178×fma-lowering-fma.f32
178×fma-lowering-fma.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0111824
1211368
2481368
31011176
41591176
52181176
62931176
73821176
84681176
97101176
109451176
119541176
09541176
Stop Event
iter limit
saturated
Counts
288 → 288
Calls
Call 1
Inputs
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(pow a 2)
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* (pow a 2) b)
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
Outputs
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(pow a 2)
(*.f64 a a)
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* a (pow b 2))
(*.f64 b (*.f64 a b))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 b (*.f64 a b)))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* (pow a 2) b)
(*.f64 a (*.f64 a b))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))

eval64.0ms (3.1%)

Compiler

Compiled 6524 to 304 computations (95.3% saved)

prune21.0ms (1%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New7142716
Fresh000
Picked044
Done011
Total7147721
Accuracy
99.9%
Counts
721 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.1%
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
93.1%
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
80.1%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
92.5%
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
72.3%
(neg.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
99.6%
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
78.3%
(neg.f64 (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a))
Compiler

Compiled 72 to 43 computations (40.3% saved)

simplify21.0ms (1%)

Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff-64
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
cost-diff0
(*.f64 b b)
cost-diff0
(*.f64 (*.f64 b b) a)
cost-diff0
(*.f64 (*.f64 (*.f64 b b) a) a)
cost-diff0
(log.f64 (*.f64 a (*.f64 b b)))
cost-diff12736
(neg.f64 (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a))
cost-diff12800
(exp.f64 (log.f64 (*.f64 a (*.f64 b b))))
cost-diff12800
(*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a)
Rules
572×fma-define
300×sum3-define
210×fnmadd-define
182×fma-lowering-fma.f32
182×fma-lowering-fma.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01151
13347
28243
315543
423643
532443
641643
749943
878543
998243
098243
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(neg (* (exp (log (* a (* b b)))) a))
(* (exp (log (* a (* b b)))) a)
(exp (log (* a (* b b))))
(log (* a (* b b)))
(* a (* b b))
a
(* b b)
b
(neg (* (* (* b b) a) a))
(* (* (* b b) a) a)
(* (* b b) a)
(* b b)
b
a
Outputs
(neg (* (exp (log (* a (* b b)))) a))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* (exp (log (* a (* b b)))) a)
(*.f64 a (*.f64 b (*.f64 a b)))
(exp (log (* a (* b b))))
(*.f64 b (*.f64 a b))
(log (* a (* b b)))
(log.f64 (*.f64 b (*.f64 a b)))
(* a (* b b))
(*.f64 b (*.f64 a b))
a
(* b b)
(*.f64 b b)
b
(neg (* (* (* b b) a) a))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(* (* (* b b) a) a)
(*.f64 a (*.f64 b (*.f64 a b)))
(* (* b b) a)
(*.f64 b (*.f64 a b))
(* b b)
(*.f64 b b)
b
a

localize61.0ms (2.9%)

Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 b b)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
accuracy92.5%
(*.f64 (*.f64 (*.f64 b b) a) a)
accuracy87.8%
(*.f64 (*.f64 b b) a)
accuracy95.6%
(exp.f64 (log.f64 (*.f64 a (*.f64 b b))))
accuracy92.5%
(*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a)
accuracy87.8%
(*.f64 a (*.f64 b b))
accuracy54.3%
(log.f64 (*.f64 a (*.f64 b b)))
Results
42.0ms256×0valid
Compiler

Compiled 70 to 12 computations (82.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 8.0ms (46.7% of total)
ival-log: 4.0ms (23.3% of total)
ival-exp: 3.0ms (17.5% of total)
ival-neg: 2.0ms (11.7% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series84.0ms (4.1%)

Counts
9 → 204
Calls
Call 1
Inputs
#<alt (* (exp (log (* a (* b b)))) a)>
#<alt (exp (log (* a (* b b))))>
#<alt (neg (* (exp (log (* a (* b b)))) a))>
#<alt (log (* a (* b b)))>
#<alt (* (* (* b b) a) a)>
#<alt (* (* b b) a)>
#<alt (* b b)>
#<alt (neg (* (* (* b b) a) a))>
#<alt (* a (* b b))>
Outputs
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (+ (log a) (log (pow b 2)))>
#<alt (+ (log a) (log (pow b 2)))>
#<alt (+ (log a) (log (pow b 2)))>
#<alt (+ (log a) (log (pow b 2)))>
#<alt (+ (log (pow b 2)) (* -1 (log (/ 1 a))))>
#<alt (+ (log (pow b 2)) (* -1 (log (/ 1 a))))>
#<alt (+ (log (pow b 2)) (* -1 (log (/ 1 a))))>
#<alt (+ (log (pow b 2)) (* -1 (log (/ 1 a))))>
#<alt (+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))>
#<alt (+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))>
#<alt (+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))>
#<alt (+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))>
#<alt (+ (log a) (* 2 (log b)))>
#<alt (+ (log a) (* 2 (log b)))>
#<alt (+ (log a) (* 2 (log b)))>
#<alt (+ (log a) (* 2 (log b)))>
#<alt (+ (log a) (* -2 (log (/ 1 b))))>
#<alt (+ (log a) (* -2 (log (/ 1 b))))>
#<alt (+ (log a) (* -2 (log (/ 1 b))))>
#<alt (+ (log a) (* -2 (log (/ 1 b))))>
#<alt (+ (log a) (* -2 (log (/ -1 b))))>
#<alt (+ (log a) (* -2 (log (/ -1 b))))>
#<alt (+ (log a) (* -2 (log (/ -1 b))))>
#<alt (+ (log a) (* -2 (log (/ -1 b))))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* (pow a 2) (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (pow b 2)>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* -1 (* (pow a 2) (pow b 2)))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
#<alt (* a (pow b 2))>
Calls

51 calls:

TimeVariablePointExpression
30.0ms
a
@0
(log (* a (* b b)))
20.0ms
a
@-inf
(log (* a (* b b)))
13.0ms
b
@inf
(log (* a (* b b)))
12.0ms
b
@0
(log (* a (* b b)))
6.0ms
a
@inf
(log (* a (* b b)))

rewrite43.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
592×fma-define
336×sum3-define
210×fnmadd-define
198×fma-lowering-fma.f32
198×fma-lowering-fma.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01145
13841
210137
319237
430537
544537
655637
764137
892737
9112437
0112437
Stop Event
iter limit
saturated
Counts
9 → 181
Calls
Call 1
Inputs
(* (exp (log (* a (* b b)))) a)
(exp (log (* a (* b b))))
(neg (* (exp (log (* a (* b b)))) a))
(log (* a (* b b)))
(* (* (* b b) a) a)
(* (* b b) a)
(* b b)
(neg (* (* (* b b) a) a))
(* a (* b b))
Outputs
(+.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b))))
(-.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 a (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a b)) a #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b)))
(*.f64 a (*.f64 b (*.f64 a b)))
(*.f64 b (*.f64 a (*.f64 a b)))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a b)) a)
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a (*.f64 a b)) b)
(+.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)))
(exp.f64 (log.f64 (*.f64 b (*.f64 a b))))
(-.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 a (*.f64 b b) #s(literal 0 binary64))
(fma.f64 b (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) a #s(literal 0 binary64))
(fma.f64 (*.f64 a b) b #s(literal 0 binary64))
(*.f64 a (*.f64 b b))
(*.f64 b (*.f64 a b))
(*.f64 (*.f64 b b) a)
(*.f64 (*.f64 a b) b)
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) b #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))))
(*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a))
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a)
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) b)
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b))
(log.f64 (*.f64 b (*.f64 a b)))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+.f64 (*.f64 #s(literal 2 binary64) (log.f64 b)) (log.f64 a))
(+.f64 (log.f64 b) (log.f64 (*.f64 a b)))
(+.f64 (log.f64 (*.f64 a b)) (log.f64 b))
(fma.f64 #s(literal 2 binary64) (log.f64 b) (log.f64 a))
(fma.f64 (log.f64 b) #s(literal 2 binary64) (log.f64 a))
(+.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 a b))))
(-.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 a (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a b)) a #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) b #s(literal 0 binary64))
(pow.f64 (*.f64 a b) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 a b)))
(*.f64 a (*.f64 b (*.f64 a b)))
(*.f64 b (*.f64 a (*.f64 a b)))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 (*.f64 b (*.f64 a b)) a)
(*.f64 (*.f64 a b) (*.f64 a b))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 a (*.f64 a b)) b)
(+.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)))
(exp.f64 (log.f64 (*.f64 b (*.f64 a b))))
(-.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 a (*.f64 b b) #s(literal 0 binary64))
(fma.f64 b (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) a #s(literal 0 binary64))
(fma.f64 (*.f64 a b) b #s(literal 0 binary64))
(*.f64 a (*.f64 b b))
(*.f64 b (*.f64 a b))
(*.f64 (*.f64 b b) a)
(*.f64 (*.f64 a b) b)
(+.f64 (*.f64 b b) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b b))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 b)))
(-.f64 (*.f64 b b) #s(literal 0 binary64))
(fma.f64 b b #s(literal 0 binary64))
(pow.f64 b #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 b))
(*.f64 b b)
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) b #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 a b)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))))
(*.f64 b (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 (*.f64 b (*.f64 a b)) (-.f64 #s(literal 0 binary64) a))
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a)
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a b)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 a b))) b)
(*.f64 (*.f64 a (*.f64 a b)) (-.f64 #s(literal 0 binary64) b))
(+.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b)))
(exp.f64 (log.f64 (*.f64 b (*.f64 a b))))
(-.f64 (*.f64 b (*.f64 a b)) #s(literal 0 binary64))
(fma.f64 a (*.f64 b b) #s(literal 0 binary64))
(fma.f64 b (*.f64 a b) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) a #s(literal 0 binary64))
(fma.f64 (*.f64 a b) b #s(literal 0 binary64))
(*.f64 a (*.f64 b b))
(*.f64 b (*.f64 a b))
(*.f64 (*.f64 b b) a)
(*.f64 (*.f64 a b) b)

simplify117.0ms (5.7%)

Algorithm
egg-herbie
Rules
812×fma-define
750×fnmadd-define
602×sum3-define
562×fma-lowering-fma.f32
562×fma-lowering-fma.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0351308
1641004
21191004
3254908
4482908
5843908
61349908
71741908
82122908
92525908
102694908
112700908
02700908
Stop Event
iter limit
saturated
Counts
204 → 204
Calls
Call 1
Inputs
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(+ (log a) (log (pow b 2)))
(+ (log a) (log (pow b 2)))
(+ (log a) (log (pow b 2)))
(+ (log a) (log (pow b 2)))
(+ (log (pow b 2)) (* -1 (log (/ 1 a))))
(+ (log (pow b 2)) (* -1 (log (/ 1 a))))
(+ (log (pow b 2)) (* -1 (log (/ 1 a))))
(+ (log (pow b 2)) (* -1 (log (/ 1 a))))
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))
(+ (log a) (* 2 (log b)))
(+ (log a) (* 2 (log b)))
(+ (log a) (* 2 (log b)))
(+ (log a) (* 2 (log b)))
(+ (log a) (* -2 (log (/ 1 b))))
(+ (log a) (* -2 (log (/ 1 b))))
(+ (log a) (* -2 (log (/ 1 b))))
(+ (log a) (* -2 (log (/ 1 b))))
(+ (log a) (* -2 (log (/ -1 b))))
(+ (log a) (* -2 (log (/ -1 b))))
(+ (log a) (* -2 (log (/ -1 b))))
(+ (log a) (* -2 (log (/ -1 b))))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* (pow a 2) (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(pow b 2)
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* -1 (* (pow a 2) (pow b 2)))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
(* a (pow b 2))
Outputs
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(+ (log a) (log (pow b 2)))
(+.f64 (log.f64 a) (log.f64 (*.f64 b b)))
(+ (log a) (log (pow b 2)))
(+.f64 (log.f64 a) (log.f64 (*.f64 b b)))
(+ (log a) (log (pow b 2)))
(+.f64 (log.f64 a) (log.f64 (*.f64 b b)))
(+ (log a) (log (pow b 2)))
(+.f64 (log.f64 a) (log.f64 (*.f64 b b)))
(+ (log (pow b 2)) (* -1 (log (/ 1 a))))
(+.f64 (log.f64 a) (log.f64 (*.f64 b b)))
(+ (log (pow b 2)) (* -1 (log (/ 1 a))))
(+.f64 (log.f64 a) (log.f64 (*.f64 b b)))
(+ (log (pow b 2)) (* -1 (log (/ 1 a))))
(+.f64 (log.f64 a) (log.f64 (*.f64 b b)))
(+ (log (pow b 2)) (* -1 (log (/ 1 a))))
(+.f64 (log.f64 a) (log.f64 (*.f64 b b)))
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b))) (log.f64 (/.f64 #s(literal -1 binary64) a)))
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b))) (log.f64 (/.f64 #s(literal -1 binary64) a)))
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b))) (log.f64 (/.f64 #s(literal -1 binary64) a)))
(+ (log (* -1 (pow b 2))) (* -1 (log (/ -1 a))))
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b))) (log.f64 (/.f64 #s(literal -1 binary64) a)))
(+ (log a) (* 2 (log b)))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+ (log a) (* 2 (log b)))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+ (log a) (* 2 (log b)))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+ (log a) (* 2 (log b)))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+ (log a) (* -2 (log (/ 1 b))))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+ (log a) (* -2 (log (/ 1 b))))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+ (log a) (* -2 (log (/ 1 b))))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+ (log a) (* -2 (log (/ 1 b))))
(+.f64 (log.f64 a) (*.f64 #s(literal 2 binary64) (log.f64 b)))
(+ (log a) (* -2 (log (/ -1 b))))
(+.f64 (log.f64 a) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) b))))
(+ (log a) (* -2 (log (/ -1 b))))
(+.f64 (log.f64 a) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) b))))
(+ (log a) (* -2 (log (/ -1 b))))
(+.f64 (log.f64 a) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) b))))
(+ (log a) (* -2 (log (/ -1 b))))
(+.f64 (log.f64 a) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) b))))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* (pow a 2) (pow b 2))
(*.f64 a (*.f64 a (*.f64 b b)))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(pow b 2)
(*.f64 b b)
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 a b))))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))
(* a (pow b 2))
(*.f64 a (*.f64 b b))

eval37.0ms (1.8%)

Compiler

Compiled 3816 to 296 computations (92.2% saved)

prune17.0ms (0.8%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New4050405
Fresh000
Picked022
Done055
Total4057412
Accuracy
99.9%
Counts
412 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.1%
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
93.1%
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
80.1%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
92.5%
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
72.3%
(neg.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
99.6%
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
78.3%
(neg.f64 (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a))
Compiler

Compiled 141 to 73 computations (48.2% saved)

regimes15.0ms (0.7%)

Accuracy

Total -18.3b remaining (-7547.2%)

Threshold costs -18.3b (-7547.2%)

Counts
8 → 1
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
(neg.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
(neg.f64 (*.f64 (exp.f64 (log.f64 (*.f64 a (*.f64 b b)))) a))
Outputs
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
Calls

5 calls:

4.0ms
b
3.0ms
a
3.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
99.6%1a
99.6%1b
99.6%1(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
99.6%1(*.f64 (*.f64 (*.f64 a a) b) b)
99.6%1(*.f64 a a)
Compiler

Compiled 30 to 18 computations (40% saved)

simplify7.0ms (0.4%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
1138
2238
3308
4358
5378
Stop Event
saturated
Calls
Call 1
Inputs
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
Outputs
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
(*.f64 (*.f64 a b) (-.f64 #s(literal 0 binary64) (*.f64 a b)))

soundness51.0ms (2.5%)

Rules
592×fma-define
336×sum3-define
218×fnmadd-define
198×fma-lowering-fma.f32
198×fma-lowering-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01139
13431
29231
320231
429931
541231
658431
766231
895231
9114931
0114931
Stop Event
done
iter limit
saturated
Compiler

Compiled 21 to 11 computations (47.6% saved)

preprocess23.0ms (1.1%)

Remove

(sort a b)

(abs b)

(abs a)

Compiler

Compiled 174 to 96 computations (44.8% saved)

end0.0ms (0%)

Profiling

Loading profile data...