Details

Time bar (total: 15.3s)

analyze1.4s (9.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
0%0%99.7%0.3%0%0%0%1
0%0%99.7%0.3%0%0%0%2
0%0%99.7%0.3%0%0%0%3
0%0%99.7%0.3%0%0%0%4
0%0%99.7%0.3%0%0%0%5
0%0%99.7%0.3%0%0%0%6
0%0%99.7%0.3%0%0%0%7
0%0%99.7%0.3%0%0%0%8
0%0%99.7%0.3%0%0%0%9
0%0%99.7%0.3%0%0%0%10
0%0%99.7%0.3%0%0%0%11
0%0%99.7%0.3%0%0%0%12
Compiler

Compiled 18 to 12 computations (33.3% saved)

sample7.8s (50.9%)

Results
5.9s8256×body256valid
1.9s4141×body256infinite
Bogosity

preprocess17.0ms (0.1%)

Algorithm
egg-herbie
Rules
102×rational.json-simplify-1
36×rational.json-simplify-41
30×rational.json-simplify-2
swap-a-b
swap-z-t
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063496
1108496
2136496
3153496
066
166
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
4
5
Outputs
0
1
0
2
3
2
4
5
4
Call 2
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b))
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x))
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b))
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y z) (*.f64 x t)))
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y t) (*.f64 x z)))
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b))
(+.f64 (+.f64 (*.f64 z t) (*.f64 y a)) (*.f64 x b))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x b) (*.f64 y a)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 y a) (*.f64 x b)))
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x))
(+.f64 (+.f64 (*.f64 z t) (*.f64 y b)) (*.f64 x a))
(+.f64 (*.f64 z t) (+.f64 (*.f64 y b) (*.f64 x a)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x a) (*.f64 y b)))
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y t) (*.f64 x z)))
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y z) (*.f64 x t)))
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b))
(+.f64 (+.f64 (*.f64 z t) (*.f64 y b)) (*.f64 x a))
(+.f64 (*.f64 z t) (+.f64 (*.f64 y b) (*.f64 x a)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x a) (*.f64 y b)))
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y))
(+.f64 (+.f64 (*.f64 z t) (*.f64 y a)) (*.f64 x b))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x b) (*.f64 y a)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 y a) (*.f64 x b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t a)) (*.f64 z b))
(+.f64 (*.f64 t a) (+.f64 (*.f64 x y) (*.f64 z b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t b)) (*.f64 z a))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t b)) (*.f64 z a))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t a)) (*.f64 z b))
(+.f64 (*.f64 t a) (+.f64 (*.f64 x y) (*.f64 z b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
Symmetry

(sort x y)

(sort z t)

(sort a b)

Compiler

Compiled 23 to 17 computations (26.1% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×rational.json-simplify-1
rational.json-simplify-2
rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01331
11831
22231
32631
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))

eval0.0ms (0%)

Compiler

Compiled 28 to 13 computations (53.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Compiler

Compiled 17 to 11 computations (35.3% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Compiler

Compiled 39 to 11 computations (71.8% saved)

series6.0ms (0%)

Counts
2 → 120
Calls

30 calls:

TimeVariablePointExpression
1.0ms
a
@inf
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0ms
x
@0
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0ms
y
@-inf
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0ms
x
@inf
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0ms
y
@0
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))

rewrite220.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1856×rational.json-simplify-1
1610×rational.json-simplify-35
1510×exponential.json-3
1510×rational.json-1
1510×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01350
18550
216950
336950
474850
5193050
6343450
7460250
8647950
9773850
10776250
11776250
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))))

simplify1.1s (7.3%)

Algorithm
egg-herbie
Rules
3086×rational.json-simplify-2
2986×rational.json-simplify-51
2752×rational.json-simplify-35
1492×rational.json-simplify-49
1072×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0893640
11963640
25153640
314483640
428753640
535773640
636653640
737303640
837803640
938283640
1038763640
1139243640
1239723640
1340203640
1440683640
1541163640
1641643640
1742123640
1842603640
1951313640
2066413640
2167123640
2267123640
2367123640
2467173640
2567653640
2668133640
2768613640
2869093640
2969573640
3070053640
3170533640
3271013640
3371493640
Stop Event
node limit
Counts
160 → 47
Calls
Call 1
Inputs
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0)
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(*.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)
(/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128)
(pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128)
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
Outputs
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128)
(+.f64 (*.f64 y x) (*.f64 t z))
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))

eval8.0ms (0.1%)

Compiler

Compiled 687 to 238 computations (65.4% saved)

prune13.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New41647
Fresh000
Picked011
Done000
Total41748
Error
0.0b
Counts
48 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
24.1b
(+.f64 (*.f64 y x) (*.f64 t z))
20.4b
(+.f64 (*.f64 a b) (*.f64 y x))
19.7b
(+.f64 (*.f64 a b) (*.f64 t z))
43.5b
(*.f64 y x)
43.3b
(*.f64 t z)
39.5b
(*.f64 a b)
Compiler

Compiled 149 to 107 computations (28.2% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a b) (*.f64 t z))
Compiler

Compiled 23 to 9 computations (60.9% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

12 calls:

TimeVariablePointExpression
0.0ms
a
@0
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
z
@inf
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
z
@-inf
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
t
@inf
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
t
@-inf
(+.f64 (*.f64 a b) (*.f64 t z))

rewrite199.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1826×rational.json-simplify-35
1684×rational.json-simplify-1
1376×exponential.json-3
1376×rational.json-1
1376×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
15919
212319
325719
447819
5109719
6265419
7470419
8566519
9686019
10780119
11780119
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 a b) (*.f64 t z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 a b) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)))))

simplify785.0ms (5.1%)

Algorithm
egg-herbie
Rules
5982×rational.json-simplify-51
3558×rational.json-simplify-35
1370×rational.json-simplify-49
1154×rational.json-simplify-2
1124×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055521
1124521
2429521
31177521
41893521
52791521
63279521
73353521
83401521
93433521
103465521
113497521
123529521
133561521
143593521
153625521
163657521
173689521
183721521
194640521
204897521
214990521
225079521
235166521
245252521
255465521
265465521
275551521
285637521
295723521
305809521
315895521
325981521
336067521
346153521
356239521
Stop Event
node limit
Counts
35 → 26
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 a b)
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
(*.f64 t z)
(*.f64 t z)
(*.f64 a b)
(*.f64 t z)
(*.f64 t z)
(-.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 0)
(*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)
(*.f64 1 (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))
(/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)
Outputs
(*.f64 t z)
(*.f64 a b)
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
(*.f64 t z)
(*.f64 t z)
(*.f64 a b)
(*.f64 t z)
(*.f64 t z)
(-.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 0)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 1 (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2))
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 1/2)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/4))
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 1/4)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 1/8)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2))
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2) 2)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4))
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/4) 4)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 2)
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4)
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 8)
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)) 16)
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) 32)
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64)
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))))) 128)
(+.f64 (*.f64 t z) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))))) 256)
(+.f64 (*.f64 t z) (*.f64 a b))
(pow.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)
(+.f64 (*.f64 t z) (*.f64 a b))

localize5.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize4.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize5.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a b) (*.f64 y x))
Compiler

Compiled 23 to 9 computations (60.9% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@-inf
(+.f64 (*.f64 a b) (*.f64 y x))
0.0ms
a
@0
(+.f64 (*.f64 a b) (*.f64 y x))
0.0ms
y
@inf
(+.f64 (*.f64 a b) (*.f64 y x))
0.0ms
x
@inf
(+.f64 (*.f64 a b) (*.f64 y x))
0.0ms
x
@-inf
(+.f64 (*.f64 a b) (*.f64 y x))

rewrite201.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1826×rational.json-simplify-35
1684×rational.json-simplify-1
1376×exponential.json-3
1376×rational.json-1
1376×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
15919
212319
325719
447819
5109719
6265419
7470419
8566519
9686019
10780119
11780119
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 a b) (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 a b) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)))))

simplify786.0ms (5.1%)

Algorithm
egg-herbie
Rules
5982×rational.json-simplify-51
3558×rational.json-simplify-35
1370×rational.json-simplify-49
1154×rational.json-simplify-2
1124×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055521
1124521
2429521
31177521
41893521
52791521
63279521
73353521
83401521
93433521
103465521
113497521
123529521
133561521
143593521
153625521
163657521
173689521
183721521
194640521
204897521
214990521
225079521
235166521
245252521
255465521
265465521
275551521
285637521
295723521
305809521
315895521
325981521
336067521
346153521
356239521
Stop Event
node limit
Counts
35 → 26
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 a b)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
(*.f64 y x)
(*.f64 y x)
(*.f64 a b)
(*.f64 y x)
(*.f64 y x)
(-.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 0)
(*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)
(*.f64 1 (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))
(/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)
Outputs
(*.f64 y x)
(*.f64 a b)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
(*.f64 y x)
(*.f64 y x)
(*.f64 a b)
(*.f64 y x)
(*.f64 y x)
(-.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 0)
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 1 (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 1/2)
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/4))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 1/4)
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 1/8)
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2) 2)
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/4) 4)
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 2)
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4)
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 8)
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)) 16)
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) 32)
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64)
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))))) 128)
(+.f64 (*.f64 y x) (*.f64 a b))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))))) 256)
(+.f64 (*.f64 y x) (*.f64 a b))
(pow.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)
(+.f64 (*.f64 y x) (*.f64 a b))

eval9.0ms (0.1%)

Compiler

Compiled 578 to 237 computations (59% saved)

prune11.0ms (0.1%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New52052
Fresh011
Picked011
Done055
Total52759
Error
0.0b
Counts
59 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
24.1b
(+.f64 (*.f64 y x) (*.f64 t z))
20.4b
(+.f64 (*.f64 a b) (*.f64 y x))
19.7b
(+.f64 (*.f64 a b) (*.f64 t z))
43.5b
(*.f64 y x)
43.3b
(*.f64 t z)
39.5b
(*.f64 a b)
Compiler

Compiled 83 to 59 computations (28.9% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y x) (*.f64 t z))
Compiler

Compiled 23 to 9 computations (60.9% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

12 calls:

TimeVariablePointExpression
0.0ms
t
@inf
(+.f64 (*.f64 y x) (*.f64 t z))
0.0ms
y
@0
(+.f64 (*.f64 y x) (*.f64 t z))
0.0ms
y
@inf
(+.f64 (*.f64 y x) (*.f64 t z))
0.0ms
y
@-inf
(+.f64 (*.f64 y x) (*.f64 t z))
0.0ms
t
@0
(+.f64 (*.f64 y x) (*.f64 t z))

rewrite199.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1826×rational.json-simplify-35
1684×rational.json-simplify-1
1376×exponential.json-3
1376×rational.json-1
1376×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
15919
212319
325719
447819
5109719
6265419
7470419
8566519
9686019
10780119
11780119
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 t z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)))))

simplify786.0ms (5.1%)

Algorithm
egg-herbie
Rules
5982×rational.json-simplify-51
3558×rational.json-simplify-35
1370×rational.json-simplify-49
1154×rational.json-simplify-2
1124×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055521
1124521
2429521
31177521
41893521
52791521
63279521
73353521
83401521
93433521
103465521
113497521
123529521
133561521
143593521
153625521
163657521
173689521
183721521
194640521
204897521
214990521
225079521
235166521
245252521
255465521
265465521
275551521
285637521
295723521
305809521
315895521
325981521
336067521
346153521
356239521
Stop Event
node limit
Counts
35 → 26
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 t z)
(-.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 0)
(*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))
(/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)
Outputs
(*.f64 t z)
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 t z)
(-.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 0)
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2))
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 1/2)
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/4))
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 1/4)
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 1/8)
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2))
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2) 2)
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4))
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/4) 4)
(+.f64 (*.f64 t z) (*.f64 y x))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 2)
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4)
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 8)
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)) 16)
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) 32)
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64)
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))))) 128)
(+.f64 (*.f64 t z) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))))) 256)
(+.f64 (*.f64 t z) (*.f64 y x))
(pow.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)
(+.f64 (*.f64 t z) (*.f64 y x))

eval4.0ms (0%)

Compiler

Compiled 292 to 122 computations (58.2% saved)

prune8.0ms (0.1%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New26026
Fresh000
Picked011
Done066
Total26733
Error
0.0b
Counts
33 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
24.1b
(+.f64 (*.f64 y x) (*.f64 t z))
20.4b
(+.f64 (*.f64 a b) (*.f64 y x))
19.7b
(+.f64 (*.f64 a b) (*.f64 t z))
43.5b
(*.f64 y x)
43.3b
(*.f64 t z)
39.5b
(*.f64 a b)
Compiler

Compiled 83 to 59 computations (28.9% saved)

regimes62.0ms (0.4%)

Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Calls

11 calls:

6.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
6.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
6.0ms
y
6.0ms
a
5.0ms
(*.f64 a b)
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0b1(+.f64 (*.f64 x y) (*.f64 z t))
0.0b1(*.f64 x y)
0.0b1(*.f64 z t)
0.0b1(*.f64 a b)
Compiler

Compiled 146 to 93 computations (36.3% saved)

regimes461.0ms (3%)

Counts
6 → 3
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
Outputs
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
Calls

7 calls:

158.0ms
t
119.0ms
y
78.0ms
z
50.0ms
x
23.0ms
a
Results
ErrorSegmentsBranch
9.3b5x
11.3b5y
9.9b6z
6.9b7t
8.8b5a
10.3b3b
6.5b3(*.f64 a b)
Compiler

Compiled 87 to 55 computations (36.8% saved)

bsearch72.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
3.176860513625223e-95
9.459873564761e-94
59.0ms
-8.276446881267002e-66
-1.7621989881575682e-79
Results
69.0ms272×body256valid
Compiler

Compiled 468 to 342 computations (26.9% saved)

regimes170.0ms (1.1%)

Counts
5 → 7
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 y x))
Outputs
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 t z))
Calls

7 calls:

39.0ms
b
34.0ms
a
29.0ms
t
20.0ms
z
17.0ms
y
Results
ErrorSegmentsBranch
10.5b3x
12.5b3y
11.6b5z
7.9b7t
11.5b8a
12.9b8b
14.9b4(*.f64 a b)
Compiler

Compiled 80 to 54 computations (32.5% saved)

bsearch89.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
8.818194966990114e+111
1.8002788411382342e+114
15.0ms
7.259347346290409e+92
1.2161278655779131e+95
8.0ms
3.40757563815287e-9
6.684364725641608e-9
19.0ms
1.3472424605955955e-49
1.1827264788696607e-39
14.0ms
1.19371430536701e-84
2.225140187571544e-83
17.0ms
-3.899727678455427e-117
-3.382149190643198e-121
Results
77.0ms688×body256valid
3.0ms30×body256infinite
Compiler

Compiled 1230 to 879 computations (28.5% saved)

regimes154.0ms (1%)

Counts
4 → 6
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 t z))
Outputs
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 y x)
Calls

7 calls:

36.0ms
a
26.0ms
b
22.0ms
y
22.0ms
x
18.0ms
t
Results
ErrorSegmentsBranch
14.2b6x
14.3b6y
18.2b3z
16.1b5t
14.3b7a
15.4b7b
17.3b5(*.f64 a b)
Compiler

Compiled 73 to 53 computations (27.4% saved)

bsearch75.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
7.819390116375685e-24
5.316819171250036e-21
6.0ms
-4.331665773791369e+104
-3.5180166385224604e+104
17.0ms
-9.499347323937661e+170
-1.2096398933838748e+169
17.0ms
-1.9169871522385892e+178
-3.132163856512535e+176
15.0ms
-2.8990939279808388e+252
-1.0567734404871327e+252
Results
55.0ms480×body256valid
13.0ms120×body256infinite
Compiler

Compiled 746 to 559 computations (25.1% saved)

regimes205.0ms (1.3%)

Counts
3 → 8
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
Outputs
(*.f64 a b)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
Calls

7 calls:

39.0ms
b
34.0ms
z
32.0ms
t
29.0ms
y
28.0ms
(*.f64 a b)
Results
ErrorSegmentsBranch
29.2b6x
28.6b8y
27.6b11z
24.8b9t
27.6b7a
25.0b10b
23.3b8(*.f64 a b)
Compiler

Compiled 66 to 52 computations (21.2% saved)

bsearch103.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
3.027910072237591
25675871.790916055
15.0ms
4.504165140692233e-56
3.650742395002081e-53
16.0ms
2.3125008511969043e-109
2.5434096585461175e-102
14.0ms
6.505009747282186e-181
1.8799799740843182e-180
15.0ms
7.577629158390502e-241
3.345126347701209e-238
9.0ms
-1.8746572720535217e-162
-7.559622518304148e-163
17.0ms
-3.0778914387710727e-7
-1.2225771178657764e-13
Results
93.0ms848×body256valid
Compiler

Compiled 1016 to 832 computations (18.1% saved)

regimes91.0ms (0.6%)

Accuracy

Total -35.9b remaining (-136%)

Threshold costs -35.9b (-136%)

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

7 calls:

19.0ms
y
16.0ms
(*.f64 a b)
14.0ms
z
12.0ms
t
11.0ms
x
Results
ErrorSegmentsBranch
36.6b3x
34.3b7y
31.3b5z
29.7b3t
31.6b3a
31.0b3b
26.4b5(*.f64 a b)
Compiler

Compiled 63 to 51 computations (19% saved)

bsearch62.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
3.027910072237591
25675871.790916055
15.0ms
4.504165140692233e-56
3.650742395002081e-53
16.0ms
2.3125008511969043e-109
2.5434096585461175e-102
13.0ms
-1.7621989881575682e-79
-7.370404675152482e-82
Results
56.0ms528×body256valid
Compiler

Compiled 620 to 514 computations (17.1% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
091691
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(if (<=.f64 (*.f64 a b) -2294517323743165/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 4039493242370993/4697085165547666455778961193578674054751365097816639741414581943064418050229216886927397996769537406063869952) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z))))
(if (<=.f64 t -6530191663593343/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 1161976947540975/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 8433210856271181/205688069665150755269371147819668813122841983204197482918576128) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 1450710983537555/302231454903657293676544) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 61999999999999998289293021408374110448300755816879738906830557644497808899772036577663146524672) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 9000000000000000011875523009946982274712510202116426024165663882478337833660304860051684962396994027708131311616) (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 t z))))))))
(if (<=.f64 x -2000000000000000198304056105996818023840404684325430589176790601503084399959067474819558151731455507853638719703242991173154673528045310795668595749431124176653338683260558558115888674688541767725760824071926806374482120168847930635477150456215142137856) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -800000000000000005959184401659455913153595950866523097887714033050111881974252928210975901099125646726772482082227717026980347066247818546472455392892991069677231117888351371264) (*.f64 y x) (if (<=.f64 x -18000000000000000485464898268198179569448228671476733269931198375587783856038046122482967545918599149310749253657501847813691127952762986998265604590588358419105055768576) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -430000000000000016738083851979080105545092645422299448010302336792860067502562425644435446797585556176896) (*.f64 y x) (if (<=.f64 x 6911985578081563/1329227995784915872903807060280344576) (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 y x))))))
(if (<=.f64 (*.f64 a b) -8878048987794933/37778931862957161709568) (*.f64 a b) (if (<=.f64 (*.f64 a b) -1874170850202597/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 y x) (if (<=.f64 (*.f64 a b) 2177179880353363/938439603600587528746394711938657107663969949193687942084737423845328945327403963493426274822541422606069252398088182827397836333287780407720182613329988145004965865323862822167078543736143176539997470989737828269291292380585577139908076735904949708259328) (*.f64 t z) (if (<=.f64 (*.f64 a b) 613192019008423/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 y x) (if (<=.f64 (*.f64 a b) 6304320991423117/2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224) (*.f64 t z) (if (<=.f64 (*.f64 a b) 1984252074702287/862718293348820473429344482784628181556388621521298319395315527974912) (*.f64 a b) (if (<=.f64 (*.f64 a b) 800000) (*.f64 t z) (*.f64 a b))))))))
(if (<=.f64 (*.f64 a b) -3504353730807743/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (*.f64 a b) (if (<=.f64 (*.f64 a b) 6304320991423117/2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224) (*.f64 t z) (if (<=.f64 (*.f64 a b) 8972270250827733/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 a b) (if (<=.f64 (*.f64 a b) 14500) (*.f64 t z) (*.f64 a b)))))
(*.f64 a b)
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(if (<=.f64 (*.f64 a b) -2294517323743165/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 4039493242370993/4697085165547666455778961193578674054751365097816639741414581943064418050229216886927397996769537406063869952) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z))))
(if (<=.f64 t -6530191663593343/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 1161976947540975/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 8433210856271181/205688069665150755269371147819668813122841983204197482918576128) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 1450710983537555/302231454903657293676544) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 61999999999999998289293021408374110448300755816879738906830557644497808899772036577663146524672) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 9000000000000000011875523009946982274712510202116426024165663882478337833660304860051684962396994027708131311616) (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 t z))))))))
(if (<=.f64 x -2000000000000000198304056105996818023840404684325430589176790601503084399959067474819558151731455507853638719703242991173154673528045310795668595749431124176653338683260558558115888674688541767725760824071926806374482120168847930635477150456215142137856) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -800000000000000005959184401659455913153595950866523097887714033050111881974252928210975901099125646726772482082227717026980347066247818546472455392892991069677231117888351371264) (*.f64 y x) (if (<=.f64 x -18000000000000000485464898268198179569448228671476733269931198375587783856038046122482967545918599149310749253657501847813691127952762986998265604590588358419105055768576) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -430000000000000016738083851979080105545092645422299448010302336792860067502562425644435446797585556176896) (*.f64 y x) (if (<=.f64 x 6911985578081563/1329227995784915872903807060280344576) (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 y x))))))
(if (<=.f64 (*.f64 a b) -8878048987794933/37778931862957161709568) (*.f64 a b) (if (<=.f64 (*.f64 a b) -1874170850202597/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 y x) (if (<=.f64 (*.f64 a b) 2177179880353363/938439603600587528746394711938657107663969949193687942084737423845328945327403963493426274822541422606069252398088182827397836333287780407720182613329988145004965865323862822167078543736143176539997470989737828269291292380585577139908076735904949708259328) (*.f64 t z) (if (<=.f64 (*.f64 a b) 613192019008423/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 y x) (if (<=.f64 (*.f64 a b) 6304320991423117/2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224) (*.f64 t z) (if (<=.f64 (*.f64 a b) 1984252074702287/862718293348820473429344482784628181556388621521298319395315527974912) (*.f64 a b) (if (<=.f64 (*.f64 a b) 800000) (*.f64 t z) (*.f64 a b))))))))
(if (<=.f64 (*.f64 a b) -3504353730807743/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (*.f64 a b) (if (<=.f64 (*.f64 a b) 6304320991423117/2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224) (*.f64 t z) (if (<=.f64 (*.f64 a b) 8972270250827733/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 a b) (if (<=.f64 (*.f64 a b) 14500) (*.f64 t z) (*.f64 a b)))))
(*.f64 a b)
Compiler

Compiled 317 to 140 computations (55.8% saved)

soundness0.0ms (0%)

end75.0ms (0.5%)

Remove

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 383 to 154 computations (59.8% saved)

Profiling

Loading profile data...