ab-angle->ABCF D

Time bar (total: 2.3s)

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)

sample715.0ms (31.6%)

Results
531.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 263.0ms
ival-mult: 214.0ms (81.2% of total)
ival-neg: 40.0ms (15.2% of total)
const: 7.0ms (2.7% of total)
backward-pass: 3.0ms (1.1% of total)
Bogosity

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

explain67.0ms (2.9%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
312(2.984378970332436e-228 4.126145517386625e+132)1(1.0621940444255202e-158 3.397534022053638e+117)(*.f64 (*.f64 a a) b)
181(5.35782010978885e-261 8.280020445039116e+98)2(3.988963336272303e-165 260177.3312863542)(*.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
44.0ms512×0valid
Compiler

Compiled 66 to 20 computations (69.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 12.0ms (81.6% of total)
ival-neg: 3.0ms (20.4% of total)
const: 0.0ms (0% 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.8%
(-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a (*.f64 a b))))
82.2%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 21 to 13 computations (38.1% saved)

simplify20.0ms (0.9%)

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)

localize56.0ms (2.5%)

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.8%
(*.f64 b (*.f64 a (*.f64 a b)))
accuracy100.0%
(*.f64 a a)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
accuracy93.8%
(*.f64 (*.f64 (*.f64 a a) b) b)
accuracy88.6%
(*.f64 (*.f64 a a) b)
Results
43.0ms256×0valid
Compiler

Compiled 55 to 12 computations (78.2% saved)

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

series48.0ms (2.1%)

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
41.0ms
a
@inf
(* (* (* a a) b) b)
1.0ms
a
@0
(* a b)
1.0ms
a
@0
(* (* (* a a) b) b)
1.0ms
b
@inf
(* (* (* a a) b) b)
1.0ms
b
@0
(* (* (* a a) b) b)

rewrite57.0ms (2.5%)

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)

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

eval35.0ms (1.5%)

Compiler

Compiled 3249 to 240 computations (92.6% saved)

prune19.0ms (0.8%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New3455350
Fresh000
Picked112
Done000
Total3466352
Accuracy
99.9%
Counts
352 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.3%
(neg.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) b) b))
93.8%
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
82.2%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
95.4%
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
76.1%
(neg.f64 (*.f64 (*.f64 b b) (*.f64 a a)))
99.6%
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
Compiler

Compiled 114 to 70 computations (38.6% saved)

simplify30.0ms (1.3%)

Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(exp.f64 #s(literal 2 binary64))
cost-diff0
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a))
cost-diff0
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) b)
cost-diff0
(*.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) b) b)
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
1232×sum3-define
1228×fma-define
454×fnmadd-define
286×fma-lowering-fma.f32
286×fma-lowering-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022103
170101
2149101
3214101
4332101
5590101
6657101
7787101
82081101
92084101
02084101
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
(neg (* (* (pow (exp 2) (log a)) b) b))
(* (* (pow (exp 2) (log a)) b) b)
(* (pow (exp 2) (log a)) b)
(pow (exp 2) (log a))
(exp 2)
2
(log a)
a
b
Outputs
(neg (* (* a b) (* a b)))
(*.f64 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) 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 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) 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 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) 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 a (*.f64 a (*.f64 b (-.f64 #s(literal 0 binary64) 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
(neg (* (* (pow (exp 2) (log a)) b) b))
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) (*.f64 b (-.f64 #s(literal 0 binary64) b)))
(* (* (pow (exp 2) (log a)) b) b)
(*.f64 (*.f64 b b) (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)))
(* (pow (exp 2) (log a)) b)
(*.f64 b (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)))
(pow (exp 2) (log a))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a))
(exp 2)
(exp.f64 #s(literal 2 binary64))
2
#s(literal 2 binary64)
(log a)
(log.f64 a)
a
b

localize141.0ms (6.2%)

Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(exp.f64 #s(literal 2 binary64))
accuracy95.4%
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a))
accuracy93.8%
(*.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) b) b)
accuracy88.6%
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) b)
accuracy100.0%
(*.f64 a b)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
accuracy99.8%
(*.f64 (*.f64 a b) a)
accuracy93.8%
(*.f64 (*.f64 (*.f64 a b) a) b)
accuracy100.0%
(*.f64 a b)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
accuracy99.8%
(*.f64 b (*.f64 a b))
accuracy95.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)))
accuracy76.4%
(*.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
90.0ms256×0valid
Compiler

Compiled 134 to 23 computations (82.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 38.0ms
ival-mult: 19.0ms (50.4% of total)
ival-pow: 6.0ms (15.9% of total)
ival-neg: 5.0ms (13.3% of total)
ival-exp: 3.0ms (8% of total)
ival-log: 3.0ms (8% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series387.0ms (17.1%)

Counts
17 → 348
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))>
#<alt (* (* (pow (exp 2) (log a)) b) b)>
#<alt (* (pow (exp 2) (log a)) b)>
#<alt (pow (exp 2) (log a))>
#<alt (exp 2)>
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)))>
#<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) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))>
#<alt (* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))>
#<alt (* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))>
#<alt (* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))>
#<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 (* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))>
#<alt (* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))>
#<alt (* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))>
#<alt (* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))>
#<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 (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))>
#<alt (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))>
#<alt (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))>
#<alt (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))>
Calls

87 calls:

TimeVariablePointExpression
273.0ms
b
@0
(* (pow (exp 2) (log a)) b)
50.0ms
a
@0
(* (* (pow (exp 2) (log a)) b) b)
36.0ms
b
@0
(* (* (pow (exp 2) (log a)) b) b)
14.0ms
a
@-inf
(* (* (pow (exp 2) (log a)) b) b)
6.0ms
a
@inf
(* (* (pow (exp 2) (log a)) b) b)

rewrite58.0ms (2.6%)

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
02166
17263
214363
320963
433263
559163
666363
776663
8188463
0188463
Stop Event
iter limit
saturated
Counts
17 → 373
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))
(* (* (pow (exp 2) (log a)) b) b)
(* (pow (exp 2) (log a)) b)
(pow (exp 2) (log a))
(exp 2)
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 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 b (*.f64 a 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 b (*.f64 a 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 b (*.f64 a 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 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 #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 b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a b) (*.f64 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 (*.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 a (-.f64 #s(literal 0 binary64) a)) #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 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 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 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(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 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 a 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 (*.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 b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) 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 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) 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 b (*.f64 a 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 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a b) (*.f64 b (-.f64 #s(literal 0 binary64) a)))
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (*.f64 a (-.f64 #s(literal 0 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 (*.f64 b (*.f64 a 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 a (*.f64 b (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) a)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a)
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)))
(+.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 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 b (*.f64 a 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 b (*.f64 a 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 b (*.f64 a 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 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 #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 b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a b) (*.f64 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 (*.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 a (-.f64 #s(literal 0 binary64) a)) #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 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 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 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(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 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 a 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 (*.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 b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) 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 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) 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 b (*.f64 a 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 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a b) (*.f64 b (-.f64 #s(literal 0 binary64) a)))
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (*.f64 a (-.f64 #s(literal 0 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 (*.f64 b (*.f64 a 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 a (*.f64 b (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) a)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a)
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)))
(+.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 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 b (*.f64 a 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 b (*.f64 a 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 b (*.f64 a b)) a)
(*.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 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 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 #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 b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a b) (*.f64 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 (*.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 a (-.f64 #s(literal 0 binary64) a)) #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 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 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 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(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 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 a 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 (*.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 b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) 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 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) 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 b (*.f64 a 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 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a b) (*.f64 b (-.f64 #s(literal 0 binary64) a)))
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (*.f64 a (-.f64 #s(literal 0 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 (*.f64 b (*.f64 a 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 a (*.f64 b (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) a)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a)
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)))
(+.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 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 b (*.f64 a 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 b (*.f64 a 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 b (*.f64 a 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 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 #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 b) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(fma.f64 (*.f64 a b) (*.f64 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 (*.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 a (-.f64 #s(literal 0 binary64) a)) #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 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 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 #s(literal 0 binary64) a (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 a b)))))
(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 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 a 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 (*.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 b)) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (-.f64 #s(literal 0 binary64) 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 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a #s(literal 0 binary64))
(fma.f64 (*.f64 a (-.f64 #s(literal 0 binary64) 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 b (*.f64 a 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 #s(literal 0 binary64) (*.f64 a (*.f64 a b))))
(*.f64 (*.f64 a b) (*.f64 b (-.f64 #s(literal 0 binary64) a)))
(*.f64 (*.f64 a (*.f64 b (*.f64 a b))) #s(literal -1 binary64))
(*.f64 (*.f64 b b) (*.f64 a (-.f64 #s(literal 0 binary64) a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 (*.f64 b (*.f64 a 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 a (*.f64 b (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (*.f64 b (-.f64 #s(literal 0 binary64) a)) (*.f64 a b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 a b))) b)
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a b))) a)
(*.f64 (*.f64 a (-.f64 #s(literal 0 binary64) a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 a (*.f64 a b)))
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 a b)))
(+.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 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 b (*.f64 a 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 b (*.f64 a 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 b (*.f64 a 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 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)
(exp.f64 #s(literal 2 binary64))

simplify199.0ms (8.8%)

Algorithm
egg-herbie
Rules
2342×sum4-define
1952×fma-lowering-fma.f32
1952×fma-lowering-fma.f64
1940×sum5-define
1694×fmm-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0202148
1441608
21031608
32221392
44591392
510851392
623851392
740941392
858811392
977511392
082421392
Stop Event
iter limit
node limit
Counts
348 → 348
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)))
(* (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) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(* (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)
(* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(* (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)
(exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))
(exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))
(exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))
(exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))
Outputs
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* a b)
(*.f64 b a)
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a 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 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* a (pow b 2))
(*.f64 b (*.f64 b a))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* -1 (* (pow a 2) (pow b 2)))
(*.f64 b (/.f64 b (/.f64 #s(literal -1 binary64) (*.f64 a a))))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow b 2) (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) (pow b 2))
(*.f64 b (*.f64 (*.f64 a a) b))
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(*.f64 (*.f64 a a) b)
(* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(*.f64 (*.f64 a a) b)
(* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(*.f64 (*.f64 a a) b)
(* b (exp (* 2 (+ (log -1) (* -1 (log (/ -1 a)))))))
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a a) b)
(* (pow a 2) b)
(*.f64 (*.f64 a 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)
(exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))
(*.f64 a a)
(exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))
(*.f64 a a)
(exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))
(*.f64 a a)
(exp (* 2 (+ (log -1) (* -1 (log (/ -1 a))))))
(*.f64 a a)

eval75.0ms (3.3%)

Compiler

Compiled 7368 to 327 computations (95.6% saved)

prune21.0ms (0.9%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New8161817
Fresh000
Picked145
Done011
Total8176823
Accuracy
99.9%
Counts
823 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.3%
(neg.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) b) b))
82.7%
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
93.8%
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
82.2%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
95.4%
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
99.6%
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
Compiler

Compiled 62 to 38 computations (38.7% saved)

simplify21.0ms (0.9%)

Algorithm
egg-herbie
Localize:

Found 4 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)
Rules
568×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
0621
12119
26017
312617
420017
528917
638117
746417
875017
994717
094717
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(neg (* (* (* b b) a) a))
(* (* (* b b) a) a)
(* (* b b) a)
(* b b)
b
a
Outputs
(neg (* (* (* b b) a) a))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a))))
(* (* (* b b) a) a)
(*.f64 a (*.f64 b (*.f64 b a)))
(* (* b b) a)
(*.f64 b (*.f64 b a))
(* b b)
(*.f64 b b)
b
a

localize29.0ms (1.3%)

Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 b b)
accuracy100.0%
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
accuracy95.5%
(*.f64 (*.f64 (*.f64 b b) a) a)
accuracy87.5%
(*.f64 (*.f64 b b) a)
Results
21.0ms256×0valid
Compiler

Compiled 28 to 7 computations (75% saved)

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

series1.0ms (0.1%)

Counts
4 → 84
Calls
Call 1
Inputs
#<alt (* (* (* b b) a) a)>
#<alt (* (* b b) a)>
#<alt (* b b)>
#<alt (neg (* (* (* b b) a) a))>
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 (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)))>
Calls

21 calls:

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

rewrite40.0ms (1.8%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
0619
12317
26615
314015
423815
536015
650315
761815
891415
9111115
0111115
Stop Event
iter limit
saturated
Counts
4 → 85
Calls
Call 1
Inputs
(* (* (* b b) a) a)
(* (* b b) a)
(* b b)
(neg (* (* (* b b) a) a))
Outputs
(+.f64 (*.f64 a (*.f64 b (*.f64 b a))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (*.f64 b a))))
(-.f64 (*.f64 a (*.f64 b (*.f64 b a))) #s(literal 0 binary64))
(fma.f64 b (*.f64 b (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (*.f64 a a) #s(literal 0 binary64))
(fma.f64 a (*.f64 b (*.f64 b a)) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 b a)) a #s(literal 0 binary64))
(fma.f64 (*.f64 a a) (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 b a) (*.f64 b a) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a a)) b #s(literal 0 binary64))
(pow.f64 (*.f64 b a) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (*.f64 b a)))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 (*.f64 b b) (*.f64 a a))
(*.f64 a (*.f64 b (*.f64 b a)))
(*.f64 (*.f64 b (*.f64 b a)) a)
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 b a) (*.f64 b a))
(*.f64 (*.f64 b (*.f64 a a)) b)
(+.f64 (*.f64 b (*.f64 b a)) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 b (*.f64 b a)))
(exp.f64 (log.f64 (*.f64 b (*.f64 b a))))
(-.f64 (*.f64 b (*.f64 b a)) #s(literal 0 binary64))
(fma.f64 b (*.f64 b a) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) a #s(literal 0 binary64))
(fma.f64 a (*.f64 b b) #s(literal 0 binary64))
(fma.f64 (*.f64 b a) b #s(literal 0 binary64))
(*.f64 b (*.f64 b a))
(*.f64 (*.f64 b b) a)
(*.f64 a (*.f64 b b))
(*.f64 (*.f64 b a) 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 b a)))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a))))
(fma.f64 b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a a))) #s(literal 0 binary64))
(fma.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 a #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))))
(fma.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 b a))) #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 b a)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))))
(fma.f64 (*.f64 b (*.f64 b a)) (-.f64 #s(literal 0 binary64) a) #s(literal 0 binary64))
(fma.f64 (*.f64 a (*.f64 b (*.f64 b a))) #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 b a)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 b a)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))))
(fma.f64 #s(literal 0 binary64) (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))))
(fma.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a a)) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))))
(fma.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 b a))) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 b a))) a #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 b a)) #s(literal 0 binary64))
(fma.f64 (*.f64 a a) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))))
(fma.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)) #s(literal 0 binary64))
(fma.f64 (*.f64 b a) (-.f64 #s(literal 0 binary64) (*.f64 b a)) #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 b (*.f64 a a)) #s(literal 0 binary64))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 b a)) (*.f64 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) (*.f64 b (*.f64 a a))) b #s(literal 0 binary64))
(fma.f64 (*.f64 b (*.f64 a a)) #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 a (*.f64 b (*.f64 b a)))))
(fma.f64 (*.f64 b (*.f64 a a)) (-.f64 #s(literal 0 binary64) b) #s(literal 0 binary64))
(neg.f64 (*.f64 a (*.f64 b (*.f64 b a))))
(*.f64 b (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a a))))
(*.f64 (*.f64 b b) (-.f64 #s(literal 0 binary64) (*.f64 a a)))
(*.f64 a (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 b a))))
(*.f64 (*.f64 b (*.f64 b a)) (-.f64 #s(literal 0 binary64) a))
(*.f64 (*.f64 a (*.f64 b (*.f64 b a))) #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 a (*.f64 b (*.f64 b a))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 b a))) a)
(*.f64 (-.f64 #s(literal 0 binary64) a) (*.f64 b (*.f64 b a)))
(*.f64 (*.f64 a a) (-.f64 #s(literal 0 binary64) (*.f64 b b)))
(*.f64 (*.f64 b a) (-.f64 #s(literal 0 binary64) (*.f64 b a)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b b)) (*.f64 a a))
(*.f64 (-.f64 #s(literal 0 binary64) b) (*.f64 b (*.f64 a a)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b a)) (*.f64 b a))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 a a)) (*.f64 b b))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 b (*.f64 a a))) b)
(*.f64 (*.f64 b (*.f64 a a)) (-.f64 #s(literal 0 binary64) b))

simplify28.0ms (1.2%)

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
09516
117384
246384
3113336
4171336
5229336
6304336
7393336
8479336
9721336
10956336
11965336
0965336
Stop Event
iter limit
saturated
Counts
84 → 84
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))
(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)))
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))
(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))))

eval17.0ms (0.7%)

Compiler

Compiled 1522 to 174 computations (88.6% saved)

prune13.0ms (0.6%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New1690169
Fresh000
Picked011
Done055
Total1696175
Accuracy
99.9%
Counts
175 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.3%
(neg.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) b) b))
82.7%
(neg.f64 (*.f64 (*.f64 (*.f64 b b) a) a))
93.8%
(neg.f64 (*.f64 (*.f64 (*.f64 a b) a) b))
82.2%
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
95.4%
(neg.f64 (*.f64 (*.f64 b (*.f64 a b)) a))
99.6%
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
Compiler

Compiled 131 to 70 computations (46.6% saved)

regimes15.0ms (0.6%)

Accuracy

Total -16.0b remaining (-6508.8%)

Threshold costs -16b (-6508.8%)

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 (*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 a)) b) b))
Outputs
(neg.f64 (*.f64 (*.f64 a b) (*.f64 a b)))
Calls

5 calls:

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

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

soundness60.0ms (2.7%)

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

Remove

(sort a b)

(abs b)

(abs a)

Compiler

Compiled 174 to 96 computations (44.8% saved)

end0.0ms (0%)

Profiling

Loading profile data...